gpt4 book ai didi

objective-c - NSUnicodeStringEncoding 在每个字符串前面添加 FFFE

转载 作者:行者123 更新时间:2023-12-03 17:41:25 24 4
gpt4 key购买 nike

我尝试首先将字符串编码为 NSUnicodeStringEncoding 来将其附加到文件中。我正在这样做:

NSData *data = [@"data" dataUsingEncoding: NSUnicodeStringEncoding];
NSFileHandle *output = [NSFileHandle fileHandleForUpdatingAtPath:@"file"];
[output seekToEndOfFile];
[output writeData:data];

如果我多次执行此操作,然后查看该文件,我会注意到添加的每个字符串前面都带有 FFFE。但是当我从 NSUnicodeStringEncoding 切换到 NSUTF8StringEncoding 时,这个前缀就消失了。

最佳答案

这称为字节顺序标记,之所以放在那里是因为 NSUnicodeStringEncoding 未指定字符是以大端还是小端顺序存储。

要防止 0xFFFE0xFEFF 出现在字符串开头,请使用 NSUTF16BigEndianStringEncodingNSUTF16LittleEndianStringEncoding 之一>、NSUTF32BigEndianStringEncodingNSUTF32LittleEndianStringEncoding,具体取决于您的具体需求。 (仅供引用:Apple 使用的 Intel 和 ARM 处理器是小端。)

关于objective-c - NSUnicodeStringEncoding 在每个字符串前面添加 FFFE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12773281/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com