nieyiheng 发表于 2016-7-25 22:36:19

随机字符串问题,需转换成16进制且要40位

需求描述:

我要随机生成一个8到16位的字符串(包括0-9,a-z,A-Z)然后对应转换成16进制,转换的16进制如果不足40位,需要用20补足。

例子如下:

随机字符串:ABCDEFGa0   (这是9位)
转换成16进制:414243444546476130 (因为这里只有18位,所以后面12位要用20补齐)
最终结果:4142434445464761302020202020202020202020

挺有挑战性的题目,我是做随机序列号用,拜谢大家!

tubaba 发表于 2016-7-26 10:24:16

本帖最后由 tubaba 于 2016-7-26 10:46 编辑

你自己不是都写出来了吗...$seed = Random(8,16,1)
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $seed = ' & $seed & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
$str=''
For $i=1 To $seed
        Local $test =
        $str &=Chr($test)
Next
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $str = ' & $str & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console

For $i = StringLen($str) To 20
        $str &=Chr(32)
Next
$str = StringTrimLeft(StringToBinary($str),2)
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $str = ' & $str & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
页: [1]
查看完整版本: 随机字符串问题,需转换成16进制且要40位