【发布时间】:2010-08-13 00:15:38
【问题描述】:
我正在尝试将此 C printf 转换为 C#
printf("%c%c",(x>>8)&0xff,x&0xff);
我尝试过这样的事情:
int x = 65535;
char[] chars = new char[2];
chars[0] = (char)(x >> 8 & 0xFF);
chars[1] = (char)(x & 0xFF);
但我得到了不同的结果。 我需要将结果写入文件 所以我这样做:
tWriter.Write(chars);
也许这就是问题所在。
谢谢。
【问题讨论】:
-
使用 C 版本会得到什么结果,使用 C# 版本会得到什么结果?
-
对于这个值 -> 65535 C 返回 -> ÿÿ C# 返回 -> ÿÿ
-
我可能是错的,但我认为 ÿ 是 ÿ 在解释为 Windows-1252 而不是 UTF-8 时的 UTF-8 序列。