我试图实现一个 ascii 到字符的转换器。代码是
[NSString stringWithFormat:@"%c",ascii]
它适用于高达 127 的 ascii 在 127 之后它显示了苹果特殊字符的字符
从这里我发现
8 位 ASCII 表有几种不同的变体。
我需要
ISO 8859-1,也称为 ISO Latin-1
转换时的ASCII。除了 APPLE 的特殊字符之外,我如何将 ascii 转换为 ISO 8859-1。
我试图实现一个 ascii 到字符的转换器。代码是
[NSString stringWithFormat:@"%c",ascii]
它适用于高达 127 的 ascii 在 127 之后它显示了苹果特殊字符的字符
从这里我发现
8 位 ASCII 表有几种不同的变体。
我需要
ISO 8859-1,也称为 ISO Latin-1
转换时的ASCII。除了 APPLE 的特殊字符之外,我如何将 ascii 转换为 ISO 8859-1。
[NSString stringWithCString:asciiString encoding:NSISOLatin1StringEncoding];
asciiString
你的char在哪里,ascii
后跟一个空字节。
我进入了字符编码问题,我做了编码库。该库不支持 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下载此库
我希望我的建议对你有所帮助。