【发布时间】:2014-04-15 11:49:30
【问题描述】:
我有字符串输入。我想检查所有字符并提示用户输入字符串中是否有任何 Unicode 字符。
如何在 C++ 中进行此验证。
例如。在记事本中,如果您输入任何 Unicode 字符并尝试使用 ANSI 编码保存它,它会提示您输入 Unicode 字符。我想做类似的验证。
【问题讨论】:
-
您需要指定如何在字符串中存储数据 - 是使用 UTF-8 的 std::string 还是使用 UTF-16 的 std::wstring?您也可能会问该字符是否不能用 7 位 ASCII(或者可能是 8 位 ASCII 加代码页)表示,因为所有 ASCII 字符也有 Unicode 代码点。
-
如果你认为你可能有一个没有包含Unicode字符的字符串,你几乎肯定需要阅读joelonsoftware.com/articles/Unicode.html
-
我在 VC++ 中使用 LPTSTR。你说得对。我想检测不能用 8 位 ASCII 或扩展 ASCII 表示的字符。
-
没有 8 位 ASCII 这样的东西,而 ASCII 有数百种扩展。一种这样的扩展是 UTF-8,它支持所有 Unicode 字符。
标签: c++ visual-c++