【发布时间】:2014-02-22 18:42:15
【问题描述】:
我正在尝试使用 Objective-c 对 url 字符串进行编码
// 1. Get string
char res = ((char)(400));
NSString *unencodedString = [NSString stringWithFormat:@"%c",res];
// 2. Encode string
static NSString *escape = @":/?&=;+!@#$()',*[]";
NSString *result = (__bridge_transfer NSString *)
CFURLCreateStringByAddingPercentEscapes(
NULL,
(__bridge CFStringRef)unencodedString,
NULL,
(__bridge CFStringRef)escape,
kCFStringEncodingUTF8);
// result = %C2%90
但结果不是我所期望的。因为我使用其他编程语言得到%C6%90。
如您所见,Objective-C 结果是%C2%90,但我希望是%C6%90。
我的错误在哪里?我是不是做错了什么?
【问题讨论】:
-
你的输入是什么,你期望什么输出?
-
他希望输出在所有情况下都匹配,@L.B;另外,我想知道为什么 Alexander 将“
1”的起始字符与“417”异或? -
输入是代码为 400 的字符。我希望得到 url 编码的字符串
%C6%C90。从问题中删除异或。 -
您在哪个部分/语言中有问题
HttpUtility.UrlEncode(((char)400).ToString())返回您所说的内容。 -
Objective-C 代码返回错误值
%C2%90。其他语言返回%C6%90。我不知道为什么会这样?
标签: ios objective-c urlencode