我需要从std :: wstring转换为ISO Latin1。在阅读了几个论坛后,我陷入了困惑。 wstring支持unicode字符集,其中每个字符集都是两个字节,其中ISO Latin1只有1个字节。但两个前两个代码点是相同的。
2.我是否需要将输入wstring转换为ISO LATIN-1,如果是这样,如何实现? 请帮助我理解这一点。
答案 0 :(得分:1)
在Windows中 wchar_t
为16位。
当没有代理对(字符表示为2个连续的wchar_t
值)时,您知道任何wchar_t
值< 256是Latin-1,否则不是。
代理对价值很容易识别,因为它们处于为此类保留的值范围内。
实际上,这意味着您知道任何wchar_t
值< 256都是Latin-1,否则不会,无论代理对是什么。
不,Latin-1不是多字节编码。 "多字节"指编码,其中每个字符的字节数可以变化。