Windows WinAPI宽字符串函数是否支持由多个代码点组成的字符
WinAPI宽字符串函数是否支持由多个代码点组成的字符(所谓的代理项对) 文档中有关于它的内容吗?MSDN的文章说: 注意:Windows 2000引入了对基本输入、输出和输出的支持 补充字符的简单排序。然而,并非所有系统 组件与补充字符兼容 显然,我们已经超越了Windows 2000 我的经验是,Windows实际上可以很好地处理代理项对。我知道到处都有一些bug,但我已经有一段时间没有关注这个问题了Windows WinAPI宽字符串函数是否支持由多个代码点组成的字符,windows,winapi,unicode,utf-16,Windows,Winapi,Unicode,Utf 16,WinAPI宽字符串函数是否支持由多个代码点组成的字符(所谓的代理项对) 文档中有关于它的内容吗?MSDN的文章说: 注意:Windows 2000引入了对基本输入、输出和输出的支持 补充字符的简单排序。然而,并非所有系统 组件与补充字符兼容 显然,我们已经超越了Windows 2000 我的经验是,Windows实际上可以很好地处理代理项对。我知道到处都有一些bug,但我已经有一段时间没有关注这个问题了 简短回答:Windows支持代理项对,但在一些奇怪的地方可能存在一些错误。您的术语搞错了。
简短回答:Windows支持代理项对,但在一些奇怪的地方可能存在一些错误。您的术语搞错了。代理项对由两个代码单元组成,用于编码代码点。例如,我认为控制台无法处理代理项对。每个字符单元由单个16位值表示,可能被视为UCS-2。另一方面,文件系统接受任何16位代码单元的字符串(前提是它们不包含任何保留字符),即使它们不是有效的UTF-16,如果将文件名转换为UTF-8并返回,则可能会导致问题。