【发布时间】:2012-11-20 06:59:12
【问题描述】:
有几个函数可以将 ANSI 转换为 Unicode,反之亦然。这是WideCharToMultiByte、MultiByteToWideChar、A2W、W2A 的函数。
现在我不明白 A2W 和 W2A 是如何工作的。 问题是,当您将某物转换为另一物时,您应该设置两个集合A 和集合B,以便集合A 中的每个元素都映射到集合@987654331 中的一个且只有一个元素@ uniquely。 关于这一点有几个问题:
ANSI 为 1 个字节,UNICODE 至少为 2 个字节,这意味着并非 UNICODE 集中的所有元素都可以唯一映射到 ANSI。
设置
ANSI和设置Unicode没有严格定义。我的意思是两者都有不同的编码。
在此,我的问题是:我们如何转换它们并确保我们没有破坏数据?
【问题讨论】:
-
1. “ANSI”和“Unicode”不是编码。 2. 转换 API 必须告诉您一切正常。 (或者,我想,你可以往返并比较。)
-
没有正确称为“ANSI”的字符集。 Windows-1252 代码页及其亲属通常错误地称为 ANSI;有关详细信息,请参阅链接的 Wikipedia 文章。而在 Windows 中,“Unicode”这个名称通常用来指代 UTF-16,它只是 Unicode 的几种表示形式之一。