2014-04-21 1 views
0

echo 1234 | base64 명령을 실행하면 MTIzNAo=가 표시됩니다. 다른 인코더 (예 : base64encode.org)에 동일한 문자열을 입력하면 MTIzNA==이 달라집니다.linux bash64 명령의 출력이 다른 인코더와 다른 이유는 무엇입니까?

비슷한 패턴으로 인코더 간 차이점을 볼 수 있습니다. 두 출력 모두 매우 비슷하지만 마지막 또는 마지막 두 번째 문자에는 차이가 있습니다.

echo 12345678 | base64 출력 MTIzNDU2NzgK하지만 base64encode.org에 나는 얻을 MTIzNDU2Nzg=

바로 어떻게 사용하고와 NodeJS의 Buffer encoder to base64 또한 내가 뭔가 아니라고 믿고있어 base64encode.org의 인코더와 같은 출력을 제공하므로 Linux의 base64 명령

다른 점은 무엇입니까?

답변

1

echo는 개개의 웹 사이트 또는 JS 인코더에 넣을 때 인코딩되지 않는 개행 문자가 있기 때문에 발생합니다 (JS의 문자열, 개행 문자가없는 문자 또는 웹 사이트, 줄 바꿈도 없으므로). "o ="에있는 개행을 실제로 "볼"수 있습니다 (다른 문자가 있음을 의미합니다. ==는 패딩의 두 문자입니다).

"echo -n 1234"를 시도해보십시오. A ==를 얻으실 수 있습니다. "-n"은 줄 바꿈을 표시하지 않습니다.

관련 문제