C++ 判断一个字符串是不是utf8或者GBK格式

 我来答
来看看mmm4
2017-10-19 · TA获得超过184个赞
知道小有建树答主
回答量:187
采纳率:72%
帮助的人:67.1万
展开全部
需要判断文件流的前三个字节来判断编码。
或者使用
StreamReader sr = new StreamReader("filepath", true/*detectEncodingFromByteOrderMarks*/);
sr.CurrentEncoding //返回编码
通常,当一个软件打开一个文本时,它要做的第一件事是决定这个文本究竟是使用哪种字
符集的哪种编码保存的。软件有几种途径来决定文本的字符集和编码,
最标准的途径是检测文本最开头的几个字节,楼主可以以不同编码保存后研究一下各种格式看看.比如

开头字节 Charset/encoding

EF BB BF UTF-8

FE FF UTF-16/UCS-2, little endian

FF FE UTF-16/UCS-2, big endian

FF FE 00 00 UTF-32/UCS-4, little endian.

00 00 FE FF UTF-32/UCS-4, big-endian.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式