我有一个变量x
类型的字符串包含一个UTF-8
编码的文本。这个文本不需要编码,因为它已经被编码了,所以它变得很奇怪
print(x)
// >>> æ空観å¯ã«æé©ãªãã±ã¼ã·ã§ã³
我想解码这个文本从UTF-8
到正常文本,就像我可以在这个页面上做的>>链接
我无法在swift中找到解决方案。这可能吗?如果是,请怎么做?
文本应该是这样的
星空観察に最適なロケーション
我有一个变量x类型的字符串,包含一个UTF-8编码的文本
字符串在Swift中的工作方式不同。由String
类来选择如何在内部存储字符。
String
类的方法和属性要么是编码无关的(即无论内部如何存储它们都是相同的),要么是非常明确的编码。
如果你有UTF-8编码的数据,你应该把它当作一个字节数组或Data
实例,然后像这样传递给String
类:
let bytes = // UInt8 array with UTF-8 encoded text
let string1 = String(bytes: bytes, encoding: .utf8)
let data = ... // some Data instance with UTF-8 encoded text
let string2 = String(data: data, encoding: .utf8)
尽管这两个字符串都是用UTF-8编码的数据创建的,但String
类可以将其转换为不同的内部格式。
首先没有说明如何创建字符串。这可能就是出问题的地方。