11. 如何判断一个文本文件是ANSI还是Unicode? 判断如果文本文件的开头两个字节是0xFF和0xFE,那么就是Unicode,否则是ANSI。 12. 如何判断一段字符串是ANSI还是Unicode? 用IsTextUnicode进行判断。IsTextUnicode使用一系列统计方法和定性方法,以便猜测缓存的内容。由于这不是一种确切的科学方法,因此,IsTextUnicode有可能返回不正确的结果。 13. 如何在Unicode与ANSI之间转换字符串? Windows函数MultiByteToWideChar用于将多字节字符串转换成宽字符串;函数WideCharToMultiByte将宽字符串转换成等价的多字节字符串。 如果是记事本保存的txt文件,如果文件头没有编码信息,通常都是ASCII码如果存在编码信息,就根据编码信息解码 记事本保存 Unicode 编码的文本,会在文件头加两个字节表示该文本文件是Unicode 编码,这两个字节内容16进制表示为 FF FE 记事本保存 Unicode big endian 编码的文本,会在文件头加两个字节表示该文本文件是 Unicode big endian 编码,这两个字节内容16进制表示为FE FF 记事本保存 UTF-8 编码的文本,会在文件头加三个字节表示该文本文件是UTF-8 编码,这三个字节内容16进制表示为 EF BB BF 记事本保存 ASCII 编码的文本,不会在文件头加任何字节,直接存储 ASCII码内容,所以只要判断文件头不是 FF FE 和 FE FF 和 EF BB BF就可以认定为 ASCII 编码 如果对不是记事本保存的 txt 文件,只能用户自己选择用那种编码解码,没有现成的API可以得到某个数据的编码方式。