python和macroman编码问题

2024-06-16 12:09:03 发布

您现在位置:Python中文网/ 问答频道 /正文

简而言之,我有一个iOS客户机,它可以将NSData<;90>;转换为NSStringNSMacOSRomanStringEncoding,如下所示:

int v = 0x90;
NSData *data = [NSData dataWithBytes:&v length:1];
NSString *s = [[NSString alloc] initWithData:data encoding:30];  //NSMacOSRomanStringEncoding

它将<90>(NSData)转换成字符串ê,即\xc3\xaa; 比如:

(lldb) mem read v
0x7b144210: 90 00 00 10 ab 44 b1 47 08 00 00 00 00 00 00 00  .....D.G........
0x7b144220: 90 00 00 00 00 00 00 10 07 00 00 00 00 00 00 00  ................

(lldb) po data
<90>

(lldb) po s
ê

现在我想用python在服务器端模拟这个逻辑,但是我不能得到相同的结果。它只是将0x90转换成\x90,并抛出错误,甚至我指定了mac-roman编码,如:

s = bytearray('\x90', encoding='mac-roman') // throw exception

我不是python的专家,我不知道如何让它工作。有人能帮忙吗?提前谢谢。你知道吗


Tags: ltgtdata客户机macpoencodingint