【问题标题】:Building unicode string from existing NSString从现有的 NSString 构建 unicode 字符串
【发布时间】:2015-12-30 19:56:07
【问题描述】:

我有一个像 @"uE604" 这样的 NSString,我也想添加一个反斜杠,以便将其用作 unicode 字符。但是,我在尝试使其正常工作时遇到了问题。如果我将@"\\" 添加到它的前面,它就不起作用。

有什么方法可以让它工作吗?

【问题讨论】:

    标签: ios unicode utf-8 nsstring unicode-string


    【解决方案1】:

    只需使用一个斜线,因为您使用的是 Unicode,所以不需要转义斜线:

    NSString *s = @"\u266A";
    

    【讨论】:

      【解决方案2】:

      尝试只使用一个斜线:@"\uE604"。

      【讨论】:

      • 我如何将该字符串连接到@"\"?
      • 序列 \uXXXX 是一个 unicode 字符串文字。十六进制序列在编译时被解码,并在其位置插入实际的 unicode 符号。这是当你想把字符放进去的时候,还是你想在运行时用一些任意的十六进制字符串来做?
      • 如果你想在编译时在一个 unicode 字符前面加一个反斜杠,你可以使用@"\\\uE604"。
      • 好的,所以我必须尝试将初始文本转换为十六进制字符串,然后将其连接到 5c,然后再转换为 unicode 字符?
      • 如果你想在运行时这样做,是的。首先将十六进制字符串转换为整数(参见stackoverflow.com/a/3648562/312594),然后用它的值初始化一个NSString(参见stackoverflow.com/a/30817609/312594)。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-07
      相关资源
      最近更新 更多