gpt4 book ai didi

c# - 在字符串中定义 4 字节 UTF-16 字符

转载 作者:太空狗 更新时间:2023-10-29 20:47:30 25 4
gpt4 key购买 nike

我已阅读 a question about UTF-8, UTF-16 and UCS-2几乎所有答案都声明 UCS-2 已过时,C# 使用 UTF-16。

但是,我在 C# 中创建 4 字节字符 U+1D11E 的所有尝试都失败了,所以我实际上认为 C# 仅使用 UTF-16 的 UCS-2 子集。

有我的尝试:

string s = "\u1D11E"; // gives the 2 character string "ᴑE", because \u1D11 is ᴑ
string s = (char) 0x1D11E; // won't compile because of an overflow
string s = Encoding.Unicode.GetString(new byte[] {0xD8, 0x34, 0xDD, 0x1E}); // gives 㓘ờ

C# 字符串真的是 UTF-16 还是 UCS-2?如果它们是 UTF-16,我如何将 fiddle 谱号放入我的 C# 字符串中?

最佳答案

改用大写字母 U:

  string s = "\U0001D11E";

而且您忽略了大多数机器都是小端的:

  string t = Encoding.Unicode.GetString(new byte[] { 0x34, 0xD8, 0x1E, 0xDD });

关于c# - 在字符串中定义 4 字节 UTF-16 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20874428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com