1

ascii から文字へのコンバーターを実装しようとしました。コードは

[NSString stringWithFormat:@"%c",ascii]

127までのASCIIで正常に動作します

ここから私はそれを見つけました

8 ビット ASCII テーブルにはいくつかのバリエーションがあります。

が必要です

ISO 8859-1、別名 ISO Latin-1

変換中のアスキー。APPLE の特殊文字以外の ISO 8859-1 に ascii を変換するにはどうすればよいですか。

4

2 に答える 2

2
[NSString stringWithCString:asciiString encoding:NSISOLatin1StringEncoding];

char の後に null バイトが続きますasciiStringascii

于 2012-08-01T14:35:45.117 に答える
0

文字エンコーディングの問題に入り、エンコーディング ライブラリを作成しました。このライブラリは ISO Latin-1 をサポートしていませんが、「NSISOLatin1StringEncoding」で使用できると思います。

内部コードは次のとおりです。

+ (NSString *)encodedStringWithContentsOfURL:(NSURL *)url
{
    // Get the web page HTML
    NSData *data = [NSData dataWithContentsOfURL:url];

    // response
    int enc_arr[] = {
        NSUTF8StringEncoding,           // UTF-8
        NSShiftJISStringEncoding,       // Shift_JIS
        NSJapaneseEUCStringEncoding,    // EUC-JP
        NSISO2022JPStringEncoding,      // JIS
        NSUnicodeStringEncoding,        // Unicode
        NSASCIIStringEncoding           // ASCII
    };
    NSString *data_str = nil;
    int max = sizeof(enc_arr) / sizeof(enc_arr[0]);
    for (int i=0; i<max; i++) {
        data_str = [
                    [NSString alloc]
                    initWithData : data
                    encoding : enc_arr[i]
                    ];
        if (data_str!=nil) {
            break;
        }
    }
    return data_str;    
}

このライブラリはhttps://github.com/weed/p120801_CharacterEncodingLibraryからダウンロードできます。

私のアドバイスがお役に立てば幸いです。

于 2012-08-01T14:30:18.127 に答える