Re: [問題] Unicode轉字串

看板Perl作者 (無業網民)時間16年前 (2008/05/15 13:29), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串5/5 (看更多)
提供一下個人小小的淺見,請試試看: chr(hex($array[0])); 因為chr()裏面好像需要的是numeric,你給它的不是,所以會出不來XD ※ 引述《LinusChen (retreat)》之銘言: 感謝版友panppt的回答, 我在實做上有遇到一些應該是語法的問題 我會去parse一段資料 得到一堆16進位的unicode字串 像是漢堡 => 6F225821 這樣的格式 我用版友panptt提供的方式 chr(0x6F22) chr(0x5821) 可以顯示"漢堡"沒錯 但是當我要將陣列中的16進為值轉中文的地方卡住了 我將得到的unicode->(6F225821) 切割後存入一陣列 @array 其中 $array[0]=6F22, $array[1]=5821 然後我就試看看 chr("0x$array[0]"); 但是這語法似乎是錯的 0x後面不能接陣列的樣子 另外有別的語法像是 \x{6F22} 也不能使用 \x{$array[0]} 這樣的語法 想請問語法該怎樣寫才對 ※ 引述《panppt (哎咦哎咦呀...)》之銘言: : 程式的開頭記得加上這個! : use encoding 'big5'; : $Data = "0x6F22"; : $StringData = chr($Data); # 轉成字串 : print($StringData); # 這個會印出「漢」 : $Data = "0x5821"; : $StringData = chr($Data); # 轉成字串 : print($StringData); # 這個會印出「堡」 : 這樣子應該就可以了吧! : ^^" -- ◆ From: 140.109.18.173 ※ 編輯: LinusChen 來自: 140.109.18.173 (05/14 17:20) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.31.149.22

05/15 14:40, , 1F
嗯嗯!只需要將 6F22 直接轉成 16進制,就可以了!^^
05/15 14:40, 1F

05/16 02:55, , 2F
萬分感謝兩位的幫助~~~
05/16 02:55, 2F
文章代碼(AID): #18AyenNo (Perl)
文章代碼(AID): #18AyenNo (Perl)