在c ++中从std :: wstring转换为ISO Latin1格式

时间:2014-07-01 16:25:11

标签: c++ visual-studio-2010 visual-c++

我需要从std :: wstring转换为ISO Latin1。在阅读了几个论坛后,我陷入了困惑。 wstring支持unicode字符集,其中每个字符集都是两个字节,其中ISO Latin1只有1个字节。但两个前两个代码点是相同的。

  1. ISO Latin-1是多字节字符串吗?如果需要,我需要使用wstombs()将wstring转换为ISO Latin-1
  2. 2.我是否需要将输入wstring转换为ISO LATIN-1,如果是这样,如何实现? 请帮助我理解这一点。

1 个答案:

答案 0 :(得分:1)

在Windows中 wchar_t为16位。

当没有代理对(字符表示为2个连续的wchar_t值)时,您知道任何wchar_t值< 256是Latin-1,否则不是。

代理对价值很容易识别,因为它们处于为此类保留的值范围内。

实际上,这意味着您知道任何wchar_t值< 256都是Latin-1,否则不会,无论代理对是什么。

不,Latin-1不是多字节编码。 "多字节"指编码,其中每个字符的字节数可以变化。