在 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);

请告诉我哪里出错了?

提前致谢

在 c# 中将字节码转换回字符获胜.形式

您正在转换 16 位无符号值,而不是字节(8 位)。请参阅此文档。尝试使用:

 var oldChar = (char)Convert.ToUInt16(ByteCodeValue,2);