Ruby:模糊所有unicode字符(UTF8/Encoding/String Manipulation)

Ore*_*ren 6 ruby string utf-8 fuzzing

我不能遍历整个unicode字符范围.

我到处搜索......

我正在构建一个模糊器,并希望嵌入一个url,所有unicode字符(一次一个).

例如: http://www.example.com?a=\uff1c

我知道有一些内置工具,但我需要更多的灵活性.

如果我可以像下面这样做:"\u" + "ff1c"它会很棒.

这是我得到的最接近的:

char = "\u0000"
...

#within iteration

char.succ!

...
Run Code Online (Sandbox Code Playgroud)

但在字符"\u0039"9后,我将得到"10"而不是":"

maz*_*maz 2

您可以使用 pack 将数字转换为 UTF8 字符,但我不确定这是否可以解决您的问题。

您可以创建一个包含所有字符的数值的数组,然后使用 pack 获取 UTF8 字符串,也可以从 0 循环到您需要的任何值,并在循环中使用 pack。

我写了一个小例子来解释自己。下面的代码打印出每个字符的十六进制值,后跟字符本身。

0.upto(100) do |i|
    puts "%04x" % i + ": " + [i].pack("U*")
end
Run Code Online (Sandbox Code Playgroud)