【问题标题】:How to convert a NSString to UTF-8 format string in iphone sdk?如何在 iphone sdk 中将 NSString 转换为 UTF-8 格式的字符串?
【发布时间】:2010-12-24 00:50:21
【问题描述】:

我的应用程序中有本地化(英语、西班牙语、意大利语)。客户向我发送了字符串文件,但有些字符很奇怪,我该如何更正它们?我发现客户端使用了 Mac OS Roman 编码我如何将其转换为 utf-8。 例如纽伦堡 当客户发送给我时已转换为 N√ºrnberg 现在我想重新转换它。

【问题讨论】:

    标签: objective-c xcode iphone-sdk-3.0 utf-8 nsstring


    【解决方案1】:

    简单的方法

       [yourNSStringObject UTF8String];
    

    【讨论】:

      【解决方案2】:

      如果您有一个包含所有字符串的属性文件...您可以加载它们并使用其中任何一个读取它们(来自NSString's Documentation):

      – initWithBytes:length:encoding:
      – initWithBytesNoCopy:length:encoding:freeWhenDone:
      – initWithCString:encoding:
      – initWithUTF8String:
      

      这是所有可能的编码列表

      enum {
         NSASCIIStringEncoding = 1,
         NSNEXTSTEPStringEncoding = 2,
         NSJapaneseEUCStringEncoding = 3,
         NSUTF8StringEncoding = 4,                   <----- UTF8!
         NSISOLatin1StringEncoding = 5,
         NSSymbolStringEncoding = 6,
         NSNonLossyASCIIStringEncoding = 7,
         NSShiftJISStringEncoding = 8,
         NSISOLatin2StringEncoding = 9,
         NSUnicodeStringEncoding = 10,
         NSWindowsCP1251StringEncoding = 11,
         NSWindowsCP1252StringEncoding = 12,
         NSWindowsCP1253StringEncoding = 13,
         NSWindowsCP1254StringEncoding = 14,
         NSWindowsCP1250StringEncoding = 15,
         NSISO2022JPStringEncoding = 21,
         NSMacOSRomanStringEncoding = 30,
         NSUTF16StringEncoding = NSUnicodeStringEncoding,
         NSUTF16BigEndianStringEncoding = 0x90000100,
         NSUTF16LittleEndianStringEncoding = 0x94000100,
         NSUTF32StringEncoding = 0x8c000100,
         NSUTF32BigEndianStringEncoding = 0x98000100,
         NSUTF32LittleEndianStringEncoding = 0x9c000100,
         NSProprietaryStringEncoding = 65536
      };
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-10-04
        • 1970-01-01
        • 2013-03-02
        • 1970-01-01
        • 2011-03-10
        • 2011-05-10
        • 2012-12-13
        相关资源
        最近更新 更多