在这个unicode char之前交换Unicode char废墟char

时间:2013-09-03 05:42:09

标签: regex perl unicode

我有一个包含unicode char的大列表,我想用一些带有以下代码的ASCII字符交换(这段代码更多的东西):

while ($Zeile=<STDIN>)
{
@Zeile=split('\t',$Zeile);
$i=0;
foreach(@Zeile)
    {
    if ($i>1) 
        {
        $entry=$_;
        $entry=~s/\(Details\)/ /;
        $entry=~s/\x{00BC}/.25/;
        $entry=~s/\x{00BD}/.5/;
        $entry=~s/\x{00BE}/.75/; 
        print($entry);
        }
    $i++;
    }
}

但是在结果中会插入一个char,它不是unicode char。例如,“7½”更改为“7 .5”(复制和粘贴)

1 个答案:

答案 0 :(得分:3)

可能您从未指定STDIN是utf-8流。像

这样的东西
binmode STDIN, ":utf8";

可以解决这个问题。