1

次のような UTF-8 文字シーケンスを含むプレーン テキスト ファイル (.yml) があります。

foo: "詳細は \xC3\xB8 で"

問題は \xC3\xB8 にあります - これらは「実際の」UTF-8 バイトではありません。これは、8 つの実際の文字としてテキスト ファイルに保存されるためです: \ x C 3 \ x B 8

これらを実際の 2 バイトの UTF-8 シーケンスに変換する方法はありますか?

任意の OS / 言語 / シェルツールを使用できます :-)

/ カルステン

4

1 に答える 1

2

この perl スクリプトを使用して、ファイルを変換します。

#!/usr/bin/perl
while (<STDIN>) {
  $_ =~ s/\\x([0-9A-F][0-9A-F])/chr(hex($1))/eg;
  print $_;
}

スクリプトを使用してファイルに名前を付けたと仮定してbogusutf、次のコマンドで変換を行います。

$ perl bogusutf <入力ファイル>出力ファイル

于 2012-10-01T07:47:17.727 に答える