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

c# – 用于从文件中读取字符串的编码?

发布时间:2020-12-16 01:43:56 所属栏目:百科 来源:网络整理
导读:我正在解析包含字符串的文件(我不生成).字符串总是以2个字节开头,告诉我后面的字符串的长度. 例如: 05 00 53 70 6F 72 74 将会: Sport 使用C#BinaryReader,我使用以下方法读取字符串: string s = new string(binaryReader.ReadChars(size)); 有时会出现奇
我正在解析包含字符串的文件(我不生成).字符串总是以2个字节开头,告诉我后面的字符串的长度.

例如:

05 00 53 70 6F 72 74

将会:

Sport

使用C#BinaryReader,我使用以下方法读取字符串:

string s = new string(binaryReader.ReadChars(size));

有时会出现奇怪的时髦角色,这似乎会推动流的位置超出应有的位置.例如:

0D 00 63 6F 6F 6B 20 E2 80 94 20 62 6F 6F 6B

应该:

cook - book

虽然它读得很好,但流最终会比它应该延伸两个字节?! (然后会弄乱其余的解析.)

我猜它与中间的0xE2有关,但我不确定为什么或如何处理它.

任何建议都非常感谢!

解决方法

我的猜测是字符串是用UTF-8编码的. 3字节序列E2 80 94对应于单个Unicode字符U 2014(EM DASH).

(编辑:李大同)

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

    推荐文章
      热点阅读