検索

ホームページ  >  に質問  >  本文

express - node.js中req.params的问题

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

天蓬老师天蓬老师2779日前552

全員に返信(2)返信します

  • PHP中文网

    PHP中文网2017-04-17 15:17:49

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

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 15:17:49

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

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

    リーリー

    閑話休題

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

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

    返事
    0
  • キャンセル返事