![]() |
1
27
前提是你要为之服务的所有角色都存在于 Basic Multilingual Plane (您不太可能需要更多的内容),那么一个简单的UTF-16编码就足够了。 维基百科:
下面的示例程序说明了如何按照您想要的方式执行某些操作:
重要的一点是
|
![]() |
2
21
修正了接受答案的代码-添加了特殊字符转义,如本文所述 link
|
![]() |
3
1
必须将字符串转换为
例如,如果数组如下所示:
它将成为:
|
![]() |
4
0
基于规范,这里有一些代码在爪哇进行测试和工作:
重要的是,您需要附加2个字符(接近Unicode字符还是只使用?相反)在逃走后解开。因为Unicode占用2个字节。 另外,规范还说,如果代码点大于32767,则应该使用负值,但是在我的测试中,如果不使用负值,则可以。 规格如下: \ un此关键字表示一个Unicode字符,该字符没有基于当前ANSI代码页的等效ANSI表示。n表示以十进制数表示的Unicode字符值。 在ANSI表示形式中,此关键字后紧跟等效字符。通过这种方式,旧的读卡器将忽略\n un关键字,并正确地获取ansi表示。遇到此关键字时,读卡器应忽略后面的n个字符,其中n对应于遇到的最后一个\ucn值。 与所有rtf关键字一样,关键字终止空格可能存在(在ansi字符之前),不计入要跳过的字符中。虽然这不太可能发生(或建议发生),但\bin关键字、其参数和后面的二进制数据被视为一个字符,用于跳过目的。如果在扫描可跳过数据时遇到RTF作用域分隔符字符(即左大括号或右大括号),则认为可跳过数据在分隔符之前结束。这使得读卡器可以执行一些基本的错误恢复。要在可跳过数据中包含RTF分隔符,必须使用适当的控制符号(即,用反斜杠转义)表示,如纯文本中所示。为了计算可跳过字符,任何RTF控制字或符号都被视为单个字符。 RTF编写器在遇到没有相应的ANSI字符的Unicode字符时,应该输出\n后跟它可以管理的最佳ANSI表示形式。此外,如果unicode字符转换为一个字节数与当前unicode字符字节数不同的ansi字符流,它应该在un关键字之前发出\ucn关键字来通知读卡器更改。 RTF控制字通常接受有符号的16位数字作为参数。因此,大于32767的Unicode值必须表示为负数。 |
![]() |
M - · 为什么两个相同的表情符号不相等? 2 年前 |
![]() |
Mohsen · 将字符串从Windows 1256转换为UTF-8 6 年前 |
![]() |
AMINA ARSHAD · 从字符转换为Unicode数字时出错 6 年前 |
![]() |
Taqwa · 在C#[已关闭]中将上标转换为Unicode 6 年前 |