【发布时间】:2017-07-11 03:59:59
【问题描述】:
在Java代码中,这段代码可以得到十六进制字符串"efbfbc";
new String((((char)-4 )+ "").getBytes("utf8"),"iso8859-1")
如何在 iOS Objective-C 中实现?
通过字节-4,得到十六进制字符串"efbfbc";
【问题讨论】:
-
在 UTF-8 中,字节
EF BF BC是 Unicode 代码点 U+FFFC。(char)-4是十六进制的0xFFFC,那么为什么不使用0xFFFC而不是-4这样更容易阅读呢?无论如何,there are many ways to create a hex string for a byte array。我不会为此使用 ISO-8859-1,特别是因为 many bytes are not defined in it,所以你有时可能会得到'?'字符,甚至是一个例外:“当给定字节时这个构造函数的行为在给定的字符集中无效是未指定的".
标签: ios objective-c utf-8