加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

为什么我的c#代码不识别版权符号?

发布时间:2020-12-16 01:59:29 所属栏目:百科 来源:网络整理
导读:byte[] newBytes = new Byte[] { 169 };string string1 = System.Text.Encoding.UTF8.GetString(newBytes,newBytes.Length); 在上面的程序中,我希望string1具有版权符号?的值. 但我得到一些其他价值(可能是一些垃圾),如下所示 我哪里做错了? 解决方法 UTF8
byte[] newBytes = new Byte[] { 169 };
string string1 = System.Text.Encoding.UTF8.GetString(newBytes,newBytes.Length);

在上面的程序中,我希望string1具有版权符号?的值.

但我得到一些其他价值(可能是一些垃圾),如下所示

我哪里做错了?

解决方法

UTF8需要多个字节来编码大于127的字符点.如果你反向运行,你会看到它所期望的:

System.Text.Encoding.UTF8.GetBytes("?"); // { 194,169 }

试试这个:

byte[] newBytes = new Byte[] { 194,169 };
string string1 = System.Text.Encoding.UTF8.GetString(newBytes,newBytes.Length);

如果您必须使用该原始字节数组,则需要选择不同的编码.例如,Windows-1252编码使用单个字节对版权符号进行编码:

byte[] newBytes = new Byte[] { 169 };
var encoding = Encoding.GetEncoding(1252);
string string1 = encoding.GetString(newBytes,newBytes.Length); // "?"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读