问题标签 [astral-plane]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
8133 浏览

c++ - 如何输入 4 字节的 UTF-8 字符?

我正在编写一个小应用程序,我需要使用不同字节长度的 utf-8 字符进行测试。

我可以输入 unicode 字符来测试以 utf-8 编码的 1,2 和 3 个字节,例如:

但是如何获得一个用 4 字节编码的 unicode 字符呢?我试过了:

据我了解应该是输出。但是当我打印出来时,我得到ᴶ0

我错过了什么?

编辑:

我通过添加前导零让它工作:

希望我早点想到这一点:)

0 投票
3 回答
11974 浏览

c# - 模式中带有 \Uxxxxxxxx 字符的 C# 正则表达式

抛出:System.ArgumentException:以相反的顺序解析“[-]” - [xy] 范围。

查看 \U00010000 和 \U0010FFF 的十六进制值,我得到:第一个字符为 0xd800 0xdc00,第二个字符为 0xdbff 0xdfff。

所以我想我真的有一个问题。为什么用 \U 形成的 Unicode 字符在字符串中分成两个字符?

0 投票
5 回答
5571 浏览

c# - 如何从 .NET 字符串中获取 Unicode 代码点数组?

我有一个字符范围限制列表,我需要检查一个字符串,但是char.NET 中的类型是 UTF-16,因此一些字符变成了古怪的(代理)对。因此,在枚举chara 中的所有 '时string,我没有得到 32 位 Unicode 代码点,并且一些与高值的比较失败。

我对 Unicode 有足够的了解,可以在必要时自己解析字节,但我正在寻找 C#/.NET Framework BCL 解决方案。所以 ...

如何将 a 转换为 32 位 Unicode 代码点string的数组 ( )?int[]

0 投票
3 回答
1123 浏览

unicode - 在 Windows 上显示 U+FFFF 上方的 Unicode 字符

我正在使用 EVC++ 4 开发的应用程序在 Windows CE 5 上运行并且应该支持 unicode(AFAIK wchar_t 在 Windows 上使用 UTF-16,所以我正在使用它),所以我希望能够用“更具异国情调”来测试它人物。尤其是在 UTF-16 中使用 4 字节而不仅仅是 2 字节的字符。因此,我试图在文本编辑器中显示这些字符(atm 在我的带有 Windows XP 的台式 PC 上,而不是在嵌入式设备上)。

但我还没有做到这一点。作为一个例子,我选择了这个角色。就像这里提到的“MPH 2B Damase”应该支持这个角色。所以我下载了字体并将其放入 Windows\Fonts。我使用十六进制编辑器(只是为了确定)创建了一个文本文件,其中包含以下内容:

当我用记事本打开它(应该支持 unicode,对吗?)并使用下载的字体时,它不会按预期显示 1 个字符,但这是 2:

我究竟做错了什么?:)

谢谢!

赫尼尔斯

编辑: 按照建议翻转 BOM 不起作用。在这种情况下,记事本(以及我尝试过的所有其他编辑器)显示两个正方形。有趣的是,如果我在这里复制两个方块(使用 firefox),我会看到正确的字符:

我也用 Komodo Edit 进行了尝试,结果相同。

使用 UTF-8 也无助于记事本。

0 投票
4 回答
1474 浏览

unicode - 我需要补充飞机吗?

我认为这个问题很简单,在基本平面之后我是否需要 Unicode 中的所有其他东西?包括什么样的东西,真的需要吗?(以及出于什么目的?)

谢谢。

0 投票
1 回答
277 浏览

c# - 使用 int 将 Astral Plane Unicode 代码点打印到控制台

请参阅此处了解相关问题

但是,char转到0xffff(或65535)。我需要写0xd800df46(或66374)哥特式字母Faihu,所以将其转换intchar行不通。我进行了转换,也就是说,我得到了正确的整数,这意味着我可以计算代理对,但我不知道如何“渲染”它,将其转换为要作为字形输出的字符。

请注意,我不能使用 \Unnnn ...好吧,理论上的原因。

谢谢你。

0 投票
8 回答
14492 浏览

mysql - Mysql 服务器不支持 4 字节编码的 utf8 字符

我收到了从 Sql Server 到 MySql db 运行数据传输组件的服务器错误。错误信息如下:

[MySql][ODBC 5.1 Driver][mysqld-5.0.67-community-nt-log]Server does not support 4-byte encoded UTF8 characters.

源 Sql Server 表包含 nvarchar 列,目标 MySql 表包含 varchar 列。

任何人都可以阐明这个问题吗?

0 投票
2 回答
1355 浏览

java - Java中的Unicode补充多语言平面

我想在 Java 中使用 SMP(补充多语言平面)。实际上,我想打印一个代码点大于 0xFFFF 的字符。我使用了这行代码:

具有特殊字符的代码点。但是如何将这个 unicode 字符打印到控制台?

预先感谢您的帮助。

0 投票
4 回答
2158 浏览

utf-8 - 是否有一种语言在使用 UTF-8 编码时每个字符需要三个或更多字节?哪个?

常用的 ofc,克林贡语不算 :-)

谢谢,伙计们,让我运行 willItFit() 测试用例

好的,现在我知道使用 UTF-8 保存字节会导致比解决更多的问题,再次感谢

0 投票
5 回答
12394 浏览

javascript - BMP 之外的 JavaScript 字符串

BMP 是基本多语言平面

根据JavaScript: The Good Parts

JavaScript 是在 Unicode 是 16 位字符集的时候构建的,因此 JavaScript 中的所有字符都是 16 位宽。

这让我相信 JavaScript 使用 UCS-2(不是 UTF-16!)并且只能处理 U+FFFF 以内的字符。

进一步的调查证实了这一点:

fromCharCode方法在返回 Unicode 字符时似乎只使用最低 16 位。尝试获取 U+20001(CJK 统一表意文字 20001)会返回 U+0001。

问题:是否可以在 JavaScript 中处理后 BMP 字符?


2011-07-31:从Unicode Support Shootout: The Good, The Bad, & the (mostly) Ugly 中的第12 张幻灯片很好地涵盖了与此相关的问题: