【发布时间】:2017-01-01 14:42:40
【问题描述】:
在向网络服务发送请求时,我的参数字符串应该编码基本 UTF8,我的代码用于获取数据库 UTF8 编码:
let postData
= try! JSONSerialization.data(withJSONObject: param, options: JSONSerialization.WritingOptions.prettyPrinted)
//param is NSDictionary
let jsonString = NSString(data: postData, encoding: String.Encoding.utf8.rawValue)! as String
let pair = "action=payment&key=hmn@$Q*$GD4@!$#&input=\(jsonString)"
let post = pair.data(using: String.Encoding.utf8, allowLossyConversion: true)
request.httpMethod = "POST"
request.httpBody = post
android中有java代码:
pairs.add(new BasicNameValuePair("action", "payment"));
pairs.add(new BasicNameValuePair("key", "hmn@$Q&*$GD4@!$#"));
pairs.add(new BasicNameValuePair("input", item.toString()));
try {
httpGet.setEntity(new UrlEncodedFormEntity(pairs, HTTP.UTF_8));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
Exception_Code = 1;
}
输入密钥中的某些参数使用 MD5 和 TripleDes 加密,我无法从 Web 服务获得响应,因为在 swift + 字符中编码基本 UTF8 时,加密数据随空间变化,如何快速编码基本 HTTP.UTF_8。 迅速:
"ExpDate" : "ZIT5KR2 4Mk="
在安卓中:
"ExpDate":"ZIT5KR2+4Mk="
如何解决这个问题?
【问题讨论】:
标签: java android ios swift utf-8