Bash 리디렉션 인코딩

Bash 리디렉션 인코딩

base64 somefile.ext파일을 텍스트로 변환하는 명령을 사용하려고 합니다 . 유일한 문제는 파일 크기가 35% 증가하고 더 큰 파일에는 허용되지 않는다는 것입니다. 파일 크기를 더 작게 만드는 방식으로 인코딩될 수 있다고 생각됩니다. 현재 출력된 파일의 인코딩은 us-ascii.

파일 크기를 더 작게 만드는 인코딩이 있습니까?

답변1

인코딩하기 전에 압축하세요.

  $ wc -c < /bin/ls
  114024
  $ < /bin/ls base64 | wc -c
  154033
  $ xz < /bin/ls | base64 | wc -c
  59878

(gzip, bzip2 또는 원하는 압축기를 사용할 수 있지만 수신 측에서 압축을 풀어야 한다는 것을 기억해야 합니다)

인쇄 가능한 ASCII 문자가 많지 않습니다. base64는 그 중 64개를 사용합니다. 즉, 6비트 입력이 8비트 출력을 생성한다는 의미입니다. 더 이상 사용할 수 있는 것이 많지 않습니다.

관련 정보