我有下面的文字,
{\ RTF1 \ ANSI \ ansicpg1252 \ cocoartf1138 \ cocoasubrtf510 {\ fonttbl \ f0 \ fswiss \ fcharset0 Helvetica;} {\ colortbl; \ red255 \ green255 \ blue255;} \ margl1440 \ margr1440 \ vieww10800 \ viewh8400 \ viewkind0 \ PARD \ \ f0 \ fs24 \ cf0 \ '83}
在上面的文字中,\ '83对应于RTF文件格式,并且在NSWindowsCP1252StringEncoding中。现在我的问题是如何转换为
中的实际表示83对应于NSWindowsCP1252StringEncoding中的字符串ƒ。
带编码的NSString字符串说使用api stringWithCString:编码。我在下面打电话给api。
NSString* str = [NSString stringWithCString:@"\'83" encoding:NSWindowsCP1252StringEncoding];
但它没有给出文字。请告诉我如何将值转换为特定文本。
此致 列宁
答案 0 :(得分:1)
@"\'83"
不是c字符串,因此您不应将其传递给stringWithCString:encoding:
。即使是C字符串版本"\'83"
也只是ascii字符,因此使用编码NSWdindowsCP1252StringEncoding
将不会生成包含任何特殊字符的字符串。
相反,你需要一个带有非ascii值的c字符串,以便NSWindowsCP1252StringEncoding
产生一个像'ƒ'这样的非ascii字符。
NSString *str = [NSString stringWithCString:"\x83" encoding:NSWindowsCP1252StringEncoding];