当前位置: 首页 > 知识库问答 >
问题:

Windows中使用的默认unicode字符编码是什么?

鱼渝
2023-03-14

Windows中使用的默认unicode字符编码是什么?特别是在Windows编程中(Win32和WinRT)。当我在WinAPI中编程时,“char”映射到1字节字符存储,“wchar_t”映射到2字节字符存储。如果UTF-16用4个字节编码所有超过65536的字符,那么Windows如何将这些字符映射为“wchar_t”数据类型?我知道我的问题不够清楚,但我希望你能理解我的一些担忧。非常感谢!

共有1个答案

胡元忠
2023-03-14

Windows对所有Unicode都使用UTF-16LE(除了MultibyTetoWideChar()WideChartoMultiByte(),它们支持UTF-7、UTF-8和UTF-16以及操作系统中安装的其他字符集)。UTF-16使用代理项对(2个16bit值一起工作)来编码0xFFFF以上的Unicode值。例如,Unicode码点U+1D11E在UTF-16LE中编码为0xD834 0xDD1E(bytes0x34 0xD8 0x1E0xDD)。

 类似资料:
  • 例如,假设我使用AJAX向服务器发送请求,如下所示:

  • 问题内容: UTF-8是Java中的默认编码吗? 如果没有,我怎么知道默认使用哪种编码? 问题答案: JVM的默认字符集是运行它的系统的默认字符集。对此没有特定的值,并且通常不应将默认编码视为任何特定的值。 可以在运行时通过对其进行访问,尽管这对你有用,但实际上你应该始终在明确指定编码的情况下这样做。

  • 问题内容: 如何通过编程正确设置JVM(1.5.x)使用​​的默认字符编码? 我读过,这-曾经是使用旧JVM的方法。由于没有理由,我没有那么奢侈。 我试过了: 并且该属性被设置,但似乎不会导致下面的最终调用使用UTF8: 问题答案: 不幸的是,必须在JVM启动时指定该属性。通过输入你的主要方法时,编码中使用的字符由和默认的构造函数,并已被永久缓存。 正如指出的那样,在这种特殊情况下, 可以使用环境

  • 问题内容: 如何设置默认的Java字符编码? 问题答案: 必须在JVM启动时指定该属性。通过输入你的主要方法时,编码中使用的字符由和默认的构造函数,并已被永久缓存。 在特殊情况下, 可以使用环境变量来指定此属性,但通常是这样完成的: 将反映对属性的更改,但是核心Java库中需要确定默认字符编码的大多数代码都不使用此机制。 在编码或解码时,可以查询属性或查找当前的默认编码,并使用适当的方法或构造函数

  • 我正在尝试将AEM/Sling使用的字符编码设置为UTF-8。根据Sling文档,这可以被Sling主servlet上的属性覆盖: 从Sling Engine 2.2.4开始,请求参数是可选的。从这个版本开始,Sling Main Servlet支持一个配置设置,允许在请求参数丢失时更改所使用的默认字符编码。 null

  • 问题内容: 我实际上对Java中字符串的编码感到困惑。我有一些问题。如果您知道答案,请帮助我: 1)内存中Java字符串的本地编码是什么?当我以哪种格式书写时,它将被存储?由于Java与机器无关,因此我认为系统不会进行编码。 2)我在网上读到“ UTF-16”是默认编码,但我感到困惑,因为我写的时候说我得到了ASCII表中的字符编号。那么ASCII和UTF-16是否相同? 3)另外,我不确定字符串