所以在Powershell中我试图获取文件的Ascii值并将它们除以一个值。我有我想要发生的事情,如下所示,我不知道如何做到这一点。
$ value将是300 $ file将是$ home \ test.txt
所以我想要它做的是以Ascii代码格式获取文件的内容,所以让我们假装文件说“你好”。当你得到内容时,它将是:
72
101
108
108
111
我真正想要做的是将所有的Ascii值都确定,然后将它们放在一行中。那么你好,是:
72
101
108
108
111
会变成:
72101108108111
然后我会取上面显示的数字并将其除以$ value,结果将被设置为文件的内容。解密它的唯一方法是将该数字乘以正确的密钥,然后再将其拆分为正常的Ascii格式:
72
101
108
108
111
然后我希望脚本获取上面显示的值并将它们放入1行,这样就会显示如下:
72101108108111
然后我会把它除以$ value并得到它:
240337027027.037
然后上面显示的是设置到文件的内容。现在解密它你将获取文件的内容(现在将是240337027027.037)并将它乘以你之前用来分割它的相同值,如果做得对,你应该得到这个:
72101108108111
然后将其分成原始的Ascii值:
72
101
108
108
111
然后再将该文件的内容设置为-encoding byte中的文件内容,以获取文件的原始内容。有谁知道怎么做?
答案 0 :(得分:0)
你能用这样的东西吗?
#Set value (I had to set a lower value because your value was way too large to process with a Int32 (and 64 I think)
$value = 22949672
#Convert (had to multiply because dividing casues to small number to be save correctly(it rounds up and ruins the decoding later)
Get-Content .\test.txt -Encoding Byte | % { $_ * $value } | Set-Content .\test2.txt -Encoding Ascii
#Convert back
Get-Content .\test2.txt -Encoding Ascii | % { [byte]($_ / $value) } | Set-Content .\test3.txt -Encoding Byte