我正在通过我的应用程序 socket.io 发送数据,我想将参数的文本嵌入到 UILabel
Javascript 服务器
socket.emit("app",{ac:"organización"})
iOS 应用
var ac = self.jsonOFsocket["ac"] as String
//ac === "organización"
self.label.text = ac
//self.label.text === "organizaci\U00f3n"
- 应用程序发送未加密字符的 socket.io。
- 应用成功接收所有字符
- 应用程序显示不同的符号
我尝试这样做:
func utf(txt:String) -> NSString {
var newTxt = NSString(format:txt, NSUTF8StringEncoding)
newTxt.precomposedStringWithCanonicalMapping
return newTxt
}
var ac = self.jsonOFsocket["ac"] as String
//ac === "organización"
self.label.text = uft(ac)
//self.label.text === "organizaciââ¥n"
这很重要:
organizaciââ¥n
最佳答案
这是 Objective-C 的方式:
NSData *data = [MyString dataUsingEncoding:NSUTF8StringEncoding];
NSString *stringWithSpecialCharacters = [[NSString alloc] initWithData:data encoding:NSNonLossyASCIIStringEncoding];
您还必须在服务器上存储正确的字符串格式,并确保它通过 curl 返回正确的字符串。
关于iOS:如何在 Swift [NSString] 中显示特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29501940/