C++ 判断一个字符串是不是utf8或者GBK格式
展开全部
需要判断文件流的前三个字节来判断编码。
或者使用
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.
或者使用
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.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询