在Windows MBCS中,哪些语言具有2字节字符,它们是什么字符?

在Windows MBCS中,哪些语言具有2字节字符,它们是什么字符?,windows,multilingual,mbcs,Windows,Multilingual,Mbcs,我有一个使用Window旧MBC的遗留应用程序。该软件是国际性的,并使用代码页使其适用于其他语言。我读到中文包含多字节字符。我的问题是,在美国,我应该如何在计算机上生成它们?我需要这个来测试。我认为MBCS的标准在日本和中国、韩国之间存在差异。 这取决于每个国家的语言。 尽管每个国家的Windows操作系统都可以使用,例如Windows 7、xp。 您应该更改控制面板上的语言选项。我认为MBCS的标准在日本和中国、韩国之间存在差异。 这取决于每个国家的语言。 尽管每个国家的Windows操作系统

我有一个使用Window旧MBC的遗留应用程序。该软件是国际性的,并使用代码页使其适用于其他语言。我读到中文包含多字节字符。我的问题是,在美国,我应该如何在计算机上生成它们?我需要这个来测试。

我认为MBCS的标准在日本和中国、韩国之间存在差异。 这取决于每个国家的语言。 尽管每个国家的Windows操作系统都可以使用,例如Windows 7、xp。
您应该更改控制面板上的语言选项。

我认为MBCS的标准在日本和中国、韩国之间存在差异。 这取决于每个国家的语言。 尽管每个国家的Windows操作系统都可以使用,例如Windows 7、xp。 您应该更改控制面板上的语言选项。

现在您应该编写的是Unicode应用程序,它们不必担心MBCS编码。我的意思是,当然,有些Unicode字符使用可变长度编码,比如UTF-16中的代理,但是您不需要做任何特殊的工作来实现这些功能。如果你想用你的应用程序测试它们,只需在web上查找Unicode字符表

在您的例子中,您实际上使用的是一个遗留的非Unicode应用程序。它们使用默认的系统代码页。旧版Windows应用程序支持的唯一多字节字符集(MBC)是双字节字符集(DBC),尤其是中文、日文和韩文:

  • 日本轮班JIS()
  • 简体中文GBK()
  • 韩语()
  • 繁体中文Big5()
既然您在问这个问题,我假设您不会说这些语言中的任何一种,并且没有将您的系统配置为使用这些语言中的任何一种。这意味着您需要将系统的默认代码页更改为其中一个。您可能希望在VM中执行此操作。为此,请打开“区域”控制面板(如何查找它取决于您的Windows版本),选择“管理”选项卡,然后单击“更改系统区域设置”。进行此更改后,您需要重新启动

我听说您可以使用Microsoft的更改单个应用程序的代码页,但它确实存在一些限制和兼容性问题。我自己从来没有试过。我也不认为它适用于更新版本的Windows;最新支持的版本是Windows XP/Server 2003。我建议使用适当本地化的VM

同样,您可以在线找到这些代码页支持的字符表(请参阅下面的链接),或者在本地化安装中使用字符映射实用程序。正如Hans在一篇评论中所建议的,一种更简单的方法可能是从互联网上的网页复制和粘贴简体中文文本(例如CP936)

就技术实现而言,DBCS将字符编码为两个字节。它和后面的字节的第一个(前导)字节信号将被解释为单个字符。MBCS感知函数(在Microsoft的字符串操作头中带有
\u mbs
前缀)可以识别这一点,并相应地处理字符。前导字节是专门为每个代码页保留和定义的。例如,while。如果您使用设计用于处理MBC的字符串函数,则不会出现问题。只有当你足够粗心,退回到天真的ACSII风格的字符串操作,迭代字节并将它们作为单个字符处理时,你才会遇到困难

如果完全可行,您应该强烈地考虑升级应用程序来支持Unicode。显然,这并不能保证它会很容易,但它不会比修复传统非Unicode应用程序中MBCS代码页支持不足更难,而且作为奖励,您花在这方面的时间将带来更多的好处。

您现在应该写的是Unicode应用程序,不必担心MBCS编码。我的意思是,当然,有些Unicode字符使用可变长度编码,比如UTF-16中的代理,但是您不需要做任何特殊的工作来实现这些功能。如果你想用你的应用程序测试它们,只需在web上查找Unicode字符表

在您的例子中,您实际上使用的是一个遗留的非Unicode应用程序。它们使用默认的系统代码页。旧版Windows应用程序支持的唯一多字节字符集(MBC)是双字节字符集(DBC),尤其是中文、日文和韩文:

  • 日本轮班JIS()
  • 简体中文GBK()
  • 韩语()
  • 繁体中文Big5()
既然您在问这个问题,我假设您不会说这些语言中的任何一种,并且没有将您的系统配置为使用这些语言中的任何一种。这意味着您需要将系统的默认代码页更改为其中一个。您可能希望在VM中执行此操作。为此,请打开“区域”控制面板(如何查找它取决于您的Windows版本),选择“管理”选项卡,然后单击“更改系统区域设置”。进行此更改后,您需要重新启动

我听说您可以使用Microsoft的更改单个应用程序的代码页,但它确实存在一些限制和兼容性问题。我自己从来没有试过。我也不认为它适用于更新版本的Windows;最新支持的版本是Windows XP/Server 2003。我建议使用适当本地化的VM

同样,您可以在线找到这些代码页支持的字符表(请参阅下面的链接),或者在本地化安装中使用字符映射实用程序。正如Hans在一篇评论中所建议的,一种更简单的方法可能是从互联网上的网页复制和粘贴简体中文文本(例如CP936)

<