3
#!/usr/bin/env perl
use warnings;
use 5.012;
use Encode qw(encode);
no warnings qw(utf8);
my $c = "\x{ffff}";
my $utf_8 = encode('utf-8', $c);
my $utf8 = encode('utf8', $c);
say "utf-8 : @{[ unpack '(B8)*', $utf_8 ]}";
say "utf8 : @{[ unpack '(B8)*', $utf8 ]}";
# utf-8 : 11101111 10111111 10111101
# utf8 : 11101111 10111111 10111111
「utf-8」是否以這種方式編碼,將我的代碼點自動修復爲最後一個可交換代碼點(第一個平面)?關於「utf-8」行爲的問題
根據Unicode,U + FFFF不是一個有效的代碼點,這是**不正確**。當然如此;交換隻是非法的。 **這些*是非常*不同的東西。**這個錯誤已在最近的開發版本中得到解決,允許'perl -wE'說「\ x {FFFF}」=〜/ ^。 0''產生1,沒有任何窺視。 – tchrist 2011-03-07 17:18:14