Когда я пытаюсь декодировать строку, закодированную в shift-jis, и кодировать ее обратно, некоторые символы искажаются: У меня следующий код:
use Encode qw(decode encode);
$val=;
print "\nbefore decoding: $val";
my $ustr = Encode::decode("shiftjis",$val);
print "\nafter decoding: $ustr";
print "\nbefore encoding: $ustr";
$val = Encode::encode("shiftjis",$ustr);
print "\nafter encoding: $val";
, когда я использую строку: hello ソ world in inputон корректно декодируется и кодируется обратно, то есть перед декодированием и после кодирования печатает в вышеприведенном коде и печатает то же значение.Но когда я попробовал другую строку, такую как: 100
Конечный вывод искажен.
Это специфическая проблема для Perl-библиотеки или общая проблема с отображением jis-карт?Есть ли какое-то решение для этого?