【发布时间】:2013-04-30 17:36:37
【问题描述】:
我有一个 iPad 应用程序,用户可以在其中在文本字段中输入电话号码。有时电话号码以 UTF-16 格式输入(日语有时以这种方式输入他们的电话号码),但大部分时间以 UTF-8 格式输入。
我的问题分为三个部分:
- 有什么方法可以判断数字是 UTF-8 还是 UTF-16?
- 如果数字是数字,我如何从 UTF-16 转换为 UTF-8?
- 看了一无所获,有人知道关于这个主题的好论文吗? (在 iOS 中来回转换)。
【问题讨论】:
-
如果用户将号码输入到
UITextField,那么您有一个NSString。用户如何以不同的编码输入这个字符串?这没有任何意义。您可以使用您想要的任何编码将NSString转换为NSData,但用户在输入文本字段期间无法控制编码。 -
“数字是以 UTF-16 或 UTF-8 输入”是什么意思?
-
@MartinR:UTF-16 编码的字节流每个代码点至少使用 2 个字节,而 UTF-8 可以低至每个代码点一个字节。
-
@datenwolf:我知道 UTF-8 和 UTF-16,但我不明白这如何应用于使用
NSString的文本字段(正如 rmaddy 在他的评论中所指出的那样)。 -
我了解其中的区别......我只是被提供应用程序规格的人告诉这个......
标签: ios objective-c utf-8 utf-16