3

私が試したことは次のとおりです。

バッファに注釈を追加しました:#-*- coding: utf-8; -*-

M-x M-m cutf-8、リストから選択して、 M-xbase64-decode-region.

バッファが示す内容は次のとおり\327\252\327\234 \327\220\327\221\327\231\327\221です。「表示すべき」はתל אביב. ソース文字列は次のようになります。16rXnCDXkNeR15nXkQ==

4

1 に答える 1

5

バッファーのコーディング システムは、ファイルからコンテンツを読み取るとき、およびコンテンツをファイルに書き込むときに使用されるコーディング システムを指定します。IOW、あなたの「コーディング:utf-8」は、ASCIIソース文字列をデコードする方法のみを示しています(ASCIIであるため特別なデコードは必要ありませんが、base64文字列は非ASCIIテキストで囲まれている可能性があります)。

必要なのは、 を呼び出しdecode-coding-regionた後に呼び出すことbase64-decode-regionです。

編集

対応する defun は次のとおりです。

(defun base64-decode-utf8-region (start end)
  (interactive "r")
  (save-restriction
    (narrow-to-region start end)
    (base64-decode-region (point-min) (point-max))
    (decode-coding-region (point-min) (point-max) 'utf-8)))

(defun base64-encode-utf8-region (start end)
  (interactive "r")
  (save-restriction
    (narrow-to-region start end)
    (encode-coding-region (point-min) (point-max) 'utf-8)
    (base64-encode-region (point-min) (point-max))))
于 2013-03-14T14:11:32.927 に答える