express - node.js中req.params的问题
天蓬老师
天蓬老师 2017-04-17 15:15:49
0
2
547

在express4.x中使用req.params读取URL中的参数,当参数为中文时,req.url输出的中文为十六进制,而req.params输出的确是中文,我想问一下使用req.params是不是调用了什么或是默认哪种解码方式

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全員に返信(2)
洪涛

現在の公式ノードはマルチバイト エンコード方式である UTF-8 のみをサポートしているため、UTF-8 エンコードである必要があります。表示される URL の 16 進エンコードは 3 バイトで構成されます。ちょうど 12 バイトであることも確認できます。
req.body req.query req.params は、トランスコードされたマルチバイトを逆に戻します。

いいねを押す +0
洪涛

これは URL コードです。 URL セーフな文字セットを使用してエンコードされます。

は、encodeURIdecodeURI を使用して js でエンコードおよびデコードします。他の言語でも同様のメソッドが提供されています。

リーリー

閑話休題

URL 内に出現が許可されていない文字 ( スペース文字など)、または文字セットが US-ASCII のスーパーセットである場合、UTF-8 エンコードが使用されます (非常に特殊な場合は、UTF -16 エンコードが使用されていましたが、現在は使用されていません)、エンコードされたデータを表すには %XX の形式を使用します。標準 RFC3986 を参照してください。

採用されることを願っています。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート