2013-09-01 2 views
0

Powershell에서 파일의 Ascii 값을 취하여 값으로 나누려고합니다. 나는 내가 아래에 보여지기를 원하는 것을 가지고있다, 나는 이것을 어떻게하는지 모른다.Powershell에서 ASCII 코드를 나누는 법

$ 값이 너무 파일이 말한다 척 수, 300 $ 파일이

그래서 내가 뭘 원하는 아스키 코드 형식으로 파일의 내용을 얻을 수 있습니다 $ 홈 \ test.txt라는 것이다 것 "여보세요". 당신이 콘텐츠를 때이 될 것입니다 :

72 
101 
108 
108 
111 

는 내가 정말하고 싶은 다음, 확인을 ASCII 값을 모두 수행 한 줄에 모두 함께 넣어이다. 그래서 안녕이다 :

72101108108111 

을 그리고 난 다음 수는 위 걸릴 및 $ 값으로 나누면 끝 결과는 파일의 내용으로 설정됩니다 :

72 
101 
108 
108 
111 

이 될 것입니다 .

72 
101 
108 
108 
111 

내가 다음 위의 값을 가지고 그들을 넣어 스크립트를 원하는 : 그 다음 올바른 키에 의해 그 수를 곱하는 것이다 해독 할 수있는 유일한 방법은, 다음 일반 아스키 형식으로 다시 분할 1 개 라인으로는 다음과 같이 나타납니다 있도록 :

72101108108111 

나는 그 걸릴 $ 값으로 나누면이 얻을 것이다 :

240337027027.037 

를 그리고 무엇을 위에 표시된 것은 다음 conten 것 파일에 설정하지 마십시오. 이제 이전을 나누기 위해 사용 당신이 (지금 240337027027.037 것) 파일의 내용을 같은 값으로 곱 것이다 암호를 해독하고하는 경우에 바로 당신이 얻을해야합니다

72101108108111 

을 그리고

72 
101 
108 
108 
111 

을 그리고 그 다음 다시 파일의 원본 콘텐츠를 다시 -encoding 바이트 파일의 내용으로 설정됩니다 : 다음이의 원래 아스키 값으로 구분 될 수있다. 누구든지이 작업을 수행하는 방법을 알고 있습니까?

+1

나는 아스키 코드가 무슨 뜻인지 알지 못합니다. 입력 예제와 출력 예상 결과를 보여줘야합니다. – Gabe

+0

나는 그것을 지금 할 것이다 :) 미안 나는 그것이 정확히 무엇인지 불렀다. – user2709335

+0

나는 그가 아스키가 무엇인지 알고 있다고 생각하지만, 그것을 나누는 것은 무엇을 의미합니까? 72/$ value 101/$ value .....가 되길 원합니까? 또는 (72 101 108 108 111)/$ value? –

답변

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 
관련 문제