Open3
URLのメモ
RisonをURLのSearchパートで使おうとしてエンコードの制御がうまくできなかったので、細かいところから確認してみる。
?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文字しかない。
URLSearchParams
について調べる。
A string, which will be parsed from application/x-www-form-urlencoded format. A leading '?' character is ignored.
application/x-www-form-urlencoded format というものがあるらしい。