我尝试使用 iconv-lite 的请求, 但我遇到了一些问题。
我知道Iconv-lite
编码方法会抛出一个Buffer
这是一些韩文文本 테스트
(UTF-8)
我想隐藏 EUC-KR
。
var str = "테스트";
var sms = iconv.encode(new Buffer(str), 'euc-kr');
request.post({
uri: 'http://some_http_server/',
form: { // Encoding of form data should be EUC-KR.
"sms": sms,
"date": "0"
}
}, function (err, res, body) {
if (err) {
callback(err);
} else {
console.log(body);
callback(null);
}
});
但是Request
不会发送EUC-KR
编码字符串。
我了解 NodeJS。当更改为仅具有 UTF-8
编码的字符串类型
我不明白我该怎么办。因为我的技术不好。 有人帮我吗?
最佳答案
您必须找出 테스트
中每个字符的 euc-kr 数字表示形式。 (尝试搜索:“代码点”、“代码单元”、“字符代码”)
将 utf8 表示形式编码为 euc-kr 会删除字节,从而创建不同的字符串。
// ** Not the actual values **
var numericalValues = new Buffer([0x2134, 0x1231, 0x3413]);
var form = { sms: sms, data: '0' };
很可能有一种算法可以将 utf8 韩语字符转换为 euc-kr,但相关资源并不多。至少是我能找到和阅读的内容。
希望你能完成你想做的事。当您找到将其发布在这里的方法时,我很想看到解决方案。
关于javascript - NodeJS 请求 POST Iconv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32173853/