m*********y 发帖数: 111 | |
o***g 发帖数: 2784 | 2 啥叫合法的UTF-8编码?举个不是的例子?
java里的string就是char array,char就是utf-16的字符,能存成string了,就说明应
该都是utf16的字符了吧
检查是不是utf8应该输入是byte[]吧,因为utf8有的是1个byte表示的,有的是2个byte
的,有的是3个byte的。
String有个constructor
public String(byte[], String charsetName)
这个可以将byte[]变成String,后面的charsetName="UTF-8"就可以变了。但是如果变
不成不知道会怎样,也许就截断了。还是utf8编码体系就不可能有变不成的。但是有可
能是变成了,然后这个字符没有定义。
【在 m*********y 的大作中提到】 : 这题咋搞?
|
x******0 发帖数: 178 | |
y***n 发帖数: 1594 | 4 这个题很看功底的,很多人都不是很明白Encoding 这一块。 |
g*****g 发帖数: 34805 | 5 If it throws an exception, it's not valid. charsetName should be "UTF-8"
public String(byte[] bytes,
String charsetName)
throws UnsupportedEncodingException
【在 m*********y 的大作中提到】 : 这题咋搞?
|
x******0 发帖数: 178 | 6 在byte[] bytes = str.getBytes("UTF-8");的时候应该就有exception了吧
【在 g*****g 的大作中提到】 : If it throws an exception, it's not valid. charsetName should be "UTF-8" : public String(byte[] bytes, : String charsetName) : throws UnsupportedEncodingException
|
r****s 发帖数: 1025 | |
x******0 发帖数: 178 | |
k*******r 发帖数: 355 | 9 interviewer应该告诉你UTF8的定义先吧。肯定不该要求每个人都会背UTF8的定义啊 |
o***g 发帖数: 2784 | 10 刚才看Swift String,说想要知道字符串的字符个数需要用countElements()来数,这
个是从前到后一个一个数的,这个准
NSString的length可能会返回不同的结果 |
z******g 发帖数: 271 | |