在 c# 中将字节码转换回字符获胜.形式
本文关键字:字符 获胜 形式 转换 字节 | 更新日期: 2023-09-27 18:31:57
我写了一段代码,它返回任何字符的字节码,如下所示
string ByteCodeValue = Convert.ToString((char)65533, 2).PadLeft(8, '0');
//which returns value "1111111111111101"
但是当我尝试这样做反之亦然时,它不起作用,并给出了如下异常"对于无符号字节来说,值太大或太小。
char OldChar= (char)Convert.ToByte("1111111111111101", 2);
请告诉我哪里出错了?
提前致谢
您正在转换 16 位无符号值,而不是字节(8 位)。请参阅此文档。尝试使用:
var oldChar = (char)Convert.ToUInt16(ByteCodeValue,2);