2010-02-21 53 views
1
echo strtrans(iconv(  "\x80", "utf-8", "utf-32")) 

輸出«??»和Vim的,的iconv + nr2char和iconv + 「 X ..」

echo strtrans(iconv(nr2char(0x80), "utf-8", "utf-32")) 

輸出«< 80>»。爲什麼?

(zyx:~) % LANG=C vim --version 
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Feb 12 2010 07:37:05) 
Included patches: 1-303           
Modified by Gentoo-7.2.303 

回答

1

由於nr2char(0x80)導致U+0080,其等於"\xc2\x80"。而"\x80"不是有效的utf-8字符串。