以下代码给出了一个错误:
(uri-encode "Kidô senkan Nadeshiko")
是,
vector-ref: index is out of range
index: 244
valid range: [0, 127]
vector: '#("%00" "%01" "%02" "%03" "%04" "%05" "%06" "%07" "%08" "%09" "%0A" "%0B" "%0C" "%0D" "%0E" "%0F" "%10" "%11" "%12" "%13" "%...
context...:
/usr/lib/racket/collects/net/uri-codec.rkt:197:6: for-loop
/usr/lib/racket/collects/net/uri-codec.rkt:195:0: encode
/usr/lib/racket/collects/racket/private/misc.rkt:87:7
我猜uri-encode
和uri-decode
只支持ASCII,我可以从某些测试的来源推断出here
所以我的问题是,github或其他地方是否有一个库可以正确编码unicode字符串?或者我必须自己滚动?
答案 0 :(得分:2)
这可能与您运行程序的方式或正在使用的Racket版本有关。我在Racket 5.2.1中对此进行了测试,它对我有用:
#lang racket
(require net/uri-codec)
(uri-encode "Kidô senkan Nadeshiko")
=> "Kid%C3%B4%20senkan%20Nadeshiko"