surrogate-pairs

    1热度

    2回答

    我正在编写一些用于生成随机字符串的代码。结果字符串似乎包含无效的char组合。具体而言,我发现很高的代理人没有跟随低代理人。 任何人都可以解释为什么发生这种情况?我是否必须明确地生成一个随机低代理来跟随高代理?我以为这是不需要的,因为我使用Character类的int变体。 这里的测试代码,这在最近的运行产生以下不好的配对: Bad pairing: d928 - d863 Bad pair

    1热度

    1回答

    我无法找到明确的答案。 ECLIPSE IDE是否支持emojis?在堆栈溢出中,我已经阅读了很多关于代理对的内容,但是我无法在此得到明确的答案。 我不得不阅读文本文件中的字符,我使用FileInputStream。 是否有可能使用代理对处理表情符号?我想要使​​用选择几个苹果emojis。这些具体的: 通过处理它们,我的意思是我想在文件中读取时将它们识别为特定的表情符号。 如果是这样,有人可以给

    6热度

    1回答

    我想更好地理解Delphi中的代理对和Unicode实现。 如果我请的Unicode串S的长度():=“具有”在Delphi,我会回来,8. 这是因为,各个字符的长度[H],[A] ,[V]和[e]分别是2,3,2和1。这是因为Ĥ有替代物,有另外两个替代物,V有替代物,e没有替代物。 如果我想返回字符串中的第二个元素,包括所有代理,[à],我该怎么做?我知道我需要对单个字节进行某种测试。我使用例程

    1热度

    2回答

    不在基本多语言平面(BMP)中的Unicode字符(代码点)可能由两个字符组成代码单元),称为代理对。 'ab'是两个代码单元和两个代码点。 (所以两个字符和两个字符。) 'a'是三个代码单元和两个代码点。 (所以三个字符和两个字符)。 我的代码不需要使用旧版本的JavaScript。 ES6或任何最现代的。 如何访问最后一个字符,而不管它是否是星体字符? 将字符串拆分为“除最后一个字符以外的所有

    2热度

    2回答

    unicode的范围究竟有什么预期的语义字符在正则表达式的范围,如果范围内的一个或两个端点是BMP之外?我观察到下面的输入行为在Python 2.7和3.5不同: import re bool(re.match(u"[\u1000-\U00021111]", "\u1234")) 在我2.7我得到False,在3.5我得到True。后者对我有意义。前者或许是代理对\ud844\udd11扯到

    6热度

    2回答

    通常我只会用str[i]之类的东西。如果str = "☀️"? str[i]失败。 for (x of str) console.log(x)也失败。它打印出总共4个字符,即使字符串中只有2个表情符号。 什么是迭代每个字符我可以看到一个字符串(和换行符,我猜),没有别的? 理想的解决方案将返回一个2个字符的数组:2个表情符号,没有别的。声明的重复,以及我发现的一堆其他解决方案,不符合此标准。

    7热度

    2回答

    我正在研究F#中的一个次要项目,它涉及将现有的C#代码移植到F#,而且我似乎遇到了两种语言之间处理正则表达式的差异(我正在发布这希望找出我只是做错了什么)。 这个次要功能只是使用正则表达式技巧here简单地检测代理对。下面是当前实现: let isSurrogatePair input = Regex.IsMatch(input, "[\uD800-\uDBFF][\uDC00-\uDF

    -1热度

    2回答

    我们有一个应用程序写成utf-8基本编码,它支持utf-8 BMP(3字节)。但是,它需要支持代理对。 我读过一些代码字符在utf-8中不支持的地方。这是真的吗? 如果是,那么使我的应用程序具有utf-16的默认编码而不是utf-8的步骤是什么? 我没有代码片段,因为整个应用程序是通过记住utf-8而不是替代字符来编写的。 我需要在整个代码中更改哪些项目才能获得utf-8中代理对的支持。或者将默认

    1热度

    1回答

    我试图插入一个代理对(“”,\uD852\uDF62,从this example一样U+24B62)到的MySQL。 的INSERT与转义文字,通过this answer建议: INSERT INTO unicode_test (value) VALUES (''); -- or INSERT INTO unicode_test (value) VALUES (_utf8''); 失败 E

    2热度

    1回答

    1)字符串中的高位和低位替代字符的顺序是固定的吗?我可以依靠它吗?在Windows上进行实验highSurrogate首先进入String(在String.charAt(int index)方面的较低索引处)。这在任何平台(Linux等)上总是如此吗?这是记录的任何? int[] codePoint = { 0x1F71D }; String s = new String(codePoi