我试图实现ascii到字符转换器。 代码是
[NSString stringWithFormat:@"%c",ascii]
它适用于高达127的ascii 在127之后,它显示了苹果特殊字符的字符
来自here我找到了
8位ASCII表有几种不同的变体。
我需要
ISO 8859-1,也称为ISO Latin-1
转换时的Ascii。如何将ascii转换为ISO 8859-1而不是APPLE的特殊字符。
答案 0 :(得分:2)
[NSString stringWithCString:asciiString encoding:NSISOLatin1StringEncoding];
其中asciiString
是您的ascii
字符,后跟空字节。
答案 1 :(得分: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
下载此库我希望我的建议可以帮到你。