Mac OS X에 파일 또는 stdin을 base64로 인코딩하는 터미널 명령이 있습니까?
답변
openssl
이 작업을 수행 할 수 있으며 기본적으로 OS X와 함께 설치됩니다. darwinports를 설치할 필요가 없습니다.
$ openssl base64 -in <infile> -out <outfile>
-in
옵션이 없으면 stdin에서 읽습니다.
답변
Openssl은 간결하게 사용할 수 있습니다.
echo -n 'input' | openssl base64
[echo -n->을 사용해야합니다. 그렇지 않으면 개행 문자를 포함하여 인코딩이 수행됩니다.]
또는
openssl base64 <ENTER> [type input] <CTRL+D>
답변
다음을 사용하십시오.
base64 -i <in-file> -o <outfile>
OS X에서 기본적으로 사용 가능해야합니다.
답변
base64
OS X 10.9.4에서 기본적으로 명령을 사용할 수 있습니다.
당신은 사용할 수 있습니다 base64 <<< string
및 base64 -D <<< string
인코딩 터미널에서 문자열을 디코딩하거나 base64 -in file
및 base64 -D -in file
인코딩 파일을 디코딩 할 수 있습니다.
답변
Python은 기본적으로 OS X와 함께 제공되므로 다음과 같이 사용할 수 있습니다.
$ echo FOO | python -m base64
Rk9PCg==
$ echo Rk9PCg== | python -m base64 -d
FOO
또는 Brew ( )를 coreutils
통해 설치 하면 다음과 같은 명령 이 제공됩니다 .brew install coreutils
base64
$ echo FOO | base64
Rk9PCg==
$ echo Rk9PCg== | base64 -d
FOO
답변
속도면에서 openssl, perl, uuencode를 사용합니다. 이식성 측면에서 uuencode와 Perl, openssl을 사용합니다 (가능한 경우 재고 플랫폼과 같은 다른 많은 UNIX에서 코드를 재사용하려는 경우). 모든 UNIX 변형이 -m 스위치를 지원하지는 않으므로주의하십시오 (iirc AIX, HP / UX, Solaris는 지원하지 않음).
$ time perl -MMIME::Base64 -e 'undef $/;while(<>){print encode_base64($_);}' \
> out.jpg 1>filename.b64
real 0m0.025s
$ time uuencode -m -o filename.b64 out.jpg filename_when_uudecoded.txt
real 0m0.051s
$ time openssl base64 -in out.jpg -out filename.b64
real 0m0.017s
에 의해 지정된 64 기수 당 file_in.txt uuencode로 인코딩하는 -m 스위치를 사용 RFC1521 과 (디코딩 할 때 기본 파일 이름으로 filename_when_uudecoded.txt로)가 filename.b64에 쓸 수 :
uuencode -m -o filename.b64 file_in.txt filename_when_uudecoded.txt
STDIN 예 :
cat file_in.txt | uuencode -m -o filename.b64 filename_when_uudecoded.txt
답변
클립 보드에 바로 파이프 할 수도 있습니다 (적어도 Mac에서는).
openssl base64 -in [filename] | pbcopy