java - 我应该使用 Unicode 符号的哪个子集来标记文本中的特殊子字符串?

标签 java unicode localization

我们的应用程序发送字符串,然后将其本地化到客户端。有时那些是整个字符串,有时只是子字符串,所以我们必须标记它们。如果它只使用 Unicode,那将是最好的,因为它不需要任何协议(protocol)更改。

示例:

"Length: (mark)10(mark)"

其中 10 是以厘米为单位的长度,但应进行转换以显示为英寸或毫米。
Unicode 特殊字符 (0xFFF0-0xFFFF) 是在文本中标记此类特殊子字符串的正确选择吗?

最佳答案

不,代码点在 Specials block 中各有用途。将它们用于其他目的可能会导致意想不到的效果。即使您自己对所有处理进行编码,传入的数据也可能包含这些代码点。当然可以检测并过滤掉它们,但最好使用不会与任何分配的代码点冲突的代码点。

使用 U+FDD0..U+FDEF 范围内的代码点。它们被指定为“非字符”,旨在用于应用程序内部。请参阅 Unicode 常见问题解答部分 Private-Use Characters, Noncharacters & Sentinels FAQ .

关于java - 我应该使用 Unicode 符号的哪个子集来标记文本中的特殊子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25343299/

相关文章:

java - Runtime.getruntime().exec() 在 Linux 上不起作用

c++ - 如何在静态库 (.lib) 中同时支持 Unicode 和多字节字符集?

xcode - 本地化英文出现双重

本地化字符串文件不适用于 Xcode 5 中的 xib

java - 简单缩放动画期间的中心 View

java - 如何将鼠标悬停并按住

c# - Java 中 C# 事件的替代

stored-procedures - Oracle 存储过程中的 Unicode

perl - 如何在 perl 模式下禁用字符组合?

java - 获取系统语言并与ResourceBundle一起使用