我的unsigned char* array1
的值为>127 && <255
。
我想在UITextView* MyTextView
中显示它,然后将其从UITextView
读回到另一个unsigned char* array2
。因此array1
中的结果值应等于array2
中的值。
我理解UITextView
的text属性是NSString
对象,其中包含UTF16编码。
而我的代码大于127则是UTF16编码的两个代码。因此,如果我想显示我的array1并接收读回array2,我需要继续执行步骤:
如何将非ASCII字符&gt; 127转换为UTF16?使用映射?
代码:
UITextView* MyTextView;//assume this exists
unsigned char array1[] = {130,150,250};
unsigned char *array2 = malloc(4);
MyTextView.text = [NSString stringWithCString:array1 encoding: NSUTF16StringEncoding];
[MyTextView.text getCString:array2 length:MyTextView.text encoding:NSUTF8StringEncoding];
结果array1
和array2
的值不同。
请帮助理解我的字符&gt; 127并将其转换为UTF16。