0

私はこのコードを使用しています:

use Unicode::UTF8 qw[decode_utf8 encode_utf8];
my $d = "opposite Spencer\u2019s Aliganj, Lucknow";
my $string = decode_utf8($d);
my $octets = encode_utf8($d);
print "\nSTRING :: $string";

次のような出力が必要です

opposite Spencer's Aliganj, Lucknow

何をすべきか ?

4

2 に答える 2

1
于 2013-10-18T06:56:35.633 に答える
0

解体された JSON を解析しようとしています。

自分で解析できます。

use Encode qw( decode );

my $incomplete_json = "opposite Spencer\u2019s Aliganj, Lucknow";

my $string = $incomplete_json;
$string =~ s{\\u([dD][89aAbB]..)\\u([dD][cCdDeEfF]..)|\\u(....)}
            { $1 ? decode('UTF-16be', pack('H*', $1.$2)) : chr(hex($3)) }eg;

または、修正して既存のパーサーを使用することもできます

use JSON::XS qw( decode_json );

my $incomplete_json = "opposite Spencer\u2019s Aliganj, Lucknow";

my $json = $incomplete_json;
$json =~ s/"/\\"/g;
$json = qq{["$json"]};

my $string = decode_json($json)->[0];

未テスト。他のスラッシュを処理する必要がある場合があります。どちらのソリューションが簡単かは、他のスラッシュをどのように処理する必要があるかによって異なります。

于 2013-10-18T14:04:22.137 に答える