gpt4 book ai didi

javascript - 在 node.js/express 中处理 windows-1250 URI

转载 作者:行者123 更新时间:2023-11-30 05:32:08 25 4
gpt4 key购买 nike

我的应用程序依赖于网络服务来形成它的 URI,所以有时它会出现(我认为是)一个 windows-1250 编码字符串(/punk%92d)并且表达失败如下:

Connect 400 Error: Failed to decode param 'punk%92d' at Layer.match

所以我考虑将指向该段的每个链接转换为 utf-8(例如:/punk'd,这样就不会引用有问题的编码),然后再次返回到 windows- 1250 与外部网络服务一起工作。

我使用 iconviconv-lite 尝试了这种方法,但结果总是有问题:/punk d/punk�d

这是一个使用 iconv 的示例:

var str = 'punk’d';
var buf = new Buffer(str.toString('binary'), 'binary');
console.log(new Iconv('UTF-8', 'Windows-1250').convert(buf).toString('binary'));

…和iconv-lite:

console.log(iconv.decode(new Buffer(str), 'win1250'));

我知道使用 binary 是一种糟糕的方法,但我希望有一些东西,任何东西 都能完成这项工作。我显然尝试了这段代码的多种变体,因为我对 Buffers 的了解是有限的,更简单的事情是行不通的,比如:

console.log(new Buffer('punk’d').toString('utf-8'));

所以我对在 express 中处理 URI 中的那些编码字符串的方法感兴趣,或者对在 node.js 中转换它们的有效方法感兴趣。

最佳答案

抱歉,如果这看起来太简单而无法尝试,但由于 Node 和 Express 都是 JavaScript,您是否尝试过简单地使用 decodeURIComponent('punk'd')?在我看来,它只是一个标准编码的 URI。我认为您从 iconv 得到了奇怪的输出,因为您是从错误的编码转换过来的。

关于javascript - 在 node.js/express 中处理 windows-1250 URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26225826/

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