iOS:如何在 Swift [NSString] 中显示特殊字符

标签 ios xcode node.js swift socket.io

我正在通过我的应用程序 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"
  1. 应用程序发送未加密字符的 socket.io。
  2. 应用成功接收所有字符
  3. 应用程序显示不同的符号

我尝试这样做:

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/

相关文章:

javascript - 如何在 Jasmine 测试中放入调试器?

ios - 无法在 Today Extension ios 中加载 TableView

ios - 本地通知设置点火时间

ios - 获取请求(模型模板)和核心数据中获取的属性之间的区别

ios - AVPlayer 直播电台流媒体在 15 分钟左右后停止

objective-c - 如何使标签中的文字变大?

node.js - Sequelize 删除 JSON 中不存在的行

ios - 代号一 IOS App Store

xcode - 如何更改 titleLabel 字体颜色,Xcode

node.js - Express - 创建一个新的 View 引擎