Open3

URLのメモ

astkastk

RisonをURLのSearchパートで使おうとしてエンコードの制御がうまくできなかったので、細かいところから確認してみる。

astkastk

?key=value&key2=value2&... と変換する際の処理を確認する。URLSearchParams を通しても変換されない文字を確認してみる。

const seq = n => [...Array(n)].map((_, i) => i)

const goodCharsForSP = seq(128)
  .map(i => String.fromCharCode(i))
  .filter(c => {
    const sp = new URLSearchParams({ [c]: c })
    return c === sp.toString().split("=")[0]
  })
  .join(' ')

console.log(goodCharsForSP)
// * - . 0 1 2 3 4 5 6 7 8 9
// A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
// _ a b c d e f g h i j k l m n o p q r s t u v w x y z

英数字以外だと * - . _ の4文字しかない。