如何以\ uXXXX格式处理unicode?

时间:2016-08-08 03:36:34

标签: json perl unicode

如果有文字:

  

“Conseil de discipline de l \ u0027Ordre des comptables professionnels   agréésduQuébec“

我如何处理\u0027,这显然是某种撇号。如何将其转换为可读字符?

数据来自JSON

1 个答案:

答案 0 :(得分:1)

use utf8;
use JSON::XS;
use open OUT => ':utf8';
my $decoder = JSON::XS->new->allow_nonref(1);
my $json_string = '"Conseil de discipline de l\\u0027Ordre des comptables professionnels agréés du Québec"';
printf "in: %s\nout: %s\n", $json_string, $decoder->decode($json_string);

适合我。 (在perl源中使用文字utf8所需的utf8,allow_nonref只需要解码一个字符串,而不是一个对象或数组)

如果你确实有一些双重编码的字符串,你可以这样做:

$string =~ s/\\u([[:xdigit:]]{4})/chr hex $1/g;