gpt4 book ai didi

objective-c - 使用 BOM 创建一个 UTF-8 字符串

转载 作者:太空狗 更新时间:2023-10-30 03:40:21 26 4
gpt4 key购买 nike

我正在使用 MD5 函数和 Base64 编码生成用户密码(用于登录到所用 API 的数据层)

我在 javascript 中做了代码这很好,但在 Objective C 中,我正在为 BOM 而苦苦挣扎

我的代码是:

NSString *str = [[NSString alloc] 
initWithFormat:@"%@%@%@%d",
[auth uppercaseString],
[user uppercaseString],
[pwd uppercaseString],
totalDaysSince2000];

NSString *sourceString = [[NSString alloc] initWithFormat:@"%02x%02x%02x%@",
0xEF,
0xBB,
0xBF,
str];

NSString *strMd5 = [sourceString MD5];

NSData *sourceData = [strMd5 dataUsingEncoding:NSUTF8StringEncoding];
NSString *base64EncodedString = [[sourceData base64EncodedString] autorelease];

使用上面的代码我进入内存:

alt text
(来源:balexandre.com)

女巫不是我真正需要的...

我什至尝试过

"%c%c%c%@", (char)239, (char)187, (char)191, str

没有运气......

使用 UTF8String 不会像在 C# 中那样自动附加 BOM :-(

如何正确附加 BOM?

最佳答案

尝试将 BOM 作为转义字 rune 字直接嵌入格式字符串中:

NSString *sourceString = [[NSString alloc] initWithFormat:@"\357\273\277%@", str];

关于objective-c - 使用 BOM 创建一个 UTF-8 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2585024/

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