PerlでUnicode文字のPythonのようなデータ構造を出力する必要があり、エンコーディングに問題があります。Perlでは、文字列をPython 2で受け入れられる形式にエンコードする方法はありますか?
Pythonコード:
import pprint
flavour = u'süß' # 'sweet' in German
pprint.pprint(flavour)
# Output:
u's\xfc\xdf'
私はPerlを使用して、非常に同じ出力を生成します。私は私ができることを知っています
use utf8;
my $flavour = 'süß';
$flavour =~ s/ü/\\xfc/g;
$flavour =~ s/ß/\\xdf/g;
print "u'$flavour'\n";
# Output:
u's\xfc\xdf'
しかし、他の奇妙な文字/ウムラウトはどうですか?私が望むことをするEncondingモジュールはありませんか? Python 設定ファイルをPerlで書くには、これが必要です。
OPはPython 2を使用しています(FWIW、Unicodeの処理はPython 3の方がはるかに優れています)。 Python 2では、これらのUnicode 'u'''文字列には0x80から0xffまでのコードポイントのための' \ x'エスケープシーケンスが必要です。 (Latin-1はUnicodeのサブセットです。すなわち、Unicodeのコードポイント<256はLatin-1の文字と同じです)0x0100から0xffffまでのコードポイントに対して4桁の '\ u'エスケープを使用します、より高いコードポイントの場合は8桁の '\ U'エスケープが必要です。申し訳ありませんが、私はperlを知らないので、さらなる提案はできません。 –
@ PM2Ringご清聴ありがとうございます。 –