UTF-8コードを含む8進エスケープASCIIファイルをUTF-8に変換する

UTF-8コードを含む8進エスケープASCIIファイルをUTF-8に変換する
  1. それ自体はASCIIファイルですが、UTF-8コードを表す8進エスケープシーケンスを含むテキストファイルがあります。

    \350\207\252\345\212\250\346\216
    

    これらのASCIIファイルを実際のutf-8でエンコードされたテキストファイルに変換するプログラムやコマンドはありますか?

  2. さて、このウェブサイト「オンラインASCII(Unicodeエスケープ)からUnicode(UTF-8)へのコンバータツール」であり、このウェブサイト「オンラインUnicode(UTF-8)をASCII(Unicode Escaped)に変換するツール」です。私の質問に彼らは切り替えますか?そうでなければ、彼らはどのような変換をするでしょうか?

ベストアンサー1

シェル変数、dash、mksh、またはbashにこれらのエスケープシーケンスがある場合:

printf %b "$string_with_backslash_escapes"

これはPOSIXではありません。指定子はPOSIXですが、%b各バックスラッシュの後に1つずつ必要です。0また、他のバックスラッシュエスケープ(\n改行、\tタブなど)についても説明します。

これは、8進数エスケープシーケンスのみを変換するPerlの1行コードです。

perl -pe 's[\\(?:([0-7]{1,3})|(.))] [defined($1) ? chr(oct($1)) : $2]eg'

http://www.rapidmonkey.com/unicodeconverter/reverse.jsp8進値をLatin-1文字として解釈しますが、ページでUnicodeとUTF-8を参照する理由がわかりません。私は何を知らないhttp://www.rapidmonkey.com/unicodeconverter/advanced.jspする。

おすすめ記事