亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 17439 | 回復(fù): 14
打印 上一主題 下一主題

請(qǐng)問“\ud83d\ude3d”這是什么字符? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2012-10-13 15:56 |只看該作者 |倒序?yàn)g覽
本帖最后由 freeand 于 2012-10-13 16:40 編輯

編碼碼是:\ud83d\ude3d 在網(wǎng)頁上看到并復(fù)制粘貼到論壇編輯器時(shí)看到的是:   發(fā)帖后變成:😽

經(jīng)perl處理后:
  1. my $text = '\ud83d\ude3d';
  2. $text =~ s/\\u([0-9a-fA-F]{4})/pack("U",hex($1))/eg;
  3. $text = encode( "utf8", $text );
  4. printf  "$text\n";
復(fù)制代碼
輸出:

亂碼?

有什么辦法轉(zhuǎn)成正常的utf8字符?

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2012-10-13 18:34 |只看該作者
  1. perldoc perlre
復(fù)制代碼
Escape sequences

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2012-10-13 19:42 |只看該作者
sjdy521 發(fā)表于 2012-10-13 18:34


跟這個(gè)沒關(guān)系吧?

http://www.charbase.com/1f63d-unicode-kissing-cat-face-with-closed-eyes
IE瀏覽器下兩個(gè)“口口”,F(xiàn)irefox看到的和我上面發(fā)的圖片一樣,就像“1F63D”這幾個(gè)字符。

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2012-10-13 19:45 |只看該作者
這是perl板塊啊

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2012-10-13 19:53 |只看該作者
sjdy521 發(fā)表于 2012-10-13 19:45
這是perl板塊啊


是啊,問題就是用perl來做unicode轉(zhuǎn)utf8的問題啊。
一般中文的unicode代碼pack后可以正常轉(zhuǎn)成utf8格式。但 \ud83d\ude3d 轉(zhuǎn)成后無論是顯示還存保存在utf8格式的文件里,都是那幾個(gè)“亂碼”。
  1. my $text = '\u4f60';
  2. $text =~ s/\\u([0-9a-fA-F]{4})/pack("U",hex($1))/eg;
  3. $text = encode( "utf8", $text );
  4. printf  "$text\n";
復(fù)制代碼
結(jié)果:你

論壇徽章:
145
技術(shù)圖書徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11獅子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龍
日期:2014-01-08 15:26:12技術(shù)圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
6 [報(bào)告]
發(fā)表于 2012-10-13 22:01 |只看該作者
本帖最后由 jason680 于 2012-10-14 10:46 編輯

回復(fù) 1# freeand


    \ud83d \ude3d  ==> utf-16

http://www.russellcottrell.com/g ... ePairCalculator.htm
    Enter a hexadecimal Unicode surrogate pair (D800-DBFF and DC00-DFFF):
    d83d + de3d = 1F63D (utf-32)  😽

Note: 😽 it will be a graphic like as an animal "cat",
but 😽 (utf-32) can't show on this page

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2012-10-13 23:55 |只看該作者
本帖最后由 freeand 于 2012-10-14 00:00 編輯

回復(fù) 6# jason680

是這樣了,和我之前發(fā)的那個(gè)鏈接相關(guān)。
我用Firefox 1.5,IE 8都沒法顯示那個(gè)表情,似乎要修改一下系統(tǒng)的注冊(cè)表。

現(xiàn)在比較關(guān)心的不是顯示,而是它能不能轉(zhuǎn)成UTF8的形式保下來。按以上的辦法轉(zhuǎn)成UTF8(錯(cuò)碼?亂碼?)保存后,再也恢復(fù)不成 \ud83d\ude3d 了。

論壇徽章:
145
技術(shù)圖書徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11獅子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龍
日期:2014-01-08 15:26:12技術(shù)圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
8 [報(bào)告]
發(fā)表于 2012-10-14 10:31 |只看該作者
回復(fù) 7# freeand

$ cat unicode.pl

use strict;
use warnings;

use Encode;

my $text = '\ud83d\ude3d';
$text =~ s/\\u(d[89ab]..)\\u(d[c-f]..)/
  pack("U",0x10000 + (hex($1)-0xD800)*0x400 + hex($2)-0xDC00)/egx;
$text =~ s/\\u([0-9a-fA-F]{4})/pack("U",hex($1))/eg;

# please refer http://perldoc.perl.org/perlunicode.html
# or use 'perldoc perlunicode' and search 0x10000
# $uni = 0x10000 + ($hi - 0xD800) * 0x400 + ($lo - 0xDC00);


$text = encode( "utf8", $text );
print "$text\n";

   

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2012-10-14 12:35 |只看該作者
你為啥一定要糾結(jié)在\ud83d\ude3d上呢 這不是perl語言的unicode表示方式吧,
  1. use Encode qw/encode/;print encode "utf8","\N{U+1F63D}"
復(fù)制代碼

論壇徽章:
0
10 [報(bào)告]
發(fā)表于 2012-10-14 12:38 |只看該作者
jason680 發(fā)表于 2012-10-14 10:31
回復(fù) 7# freeand

$ cat unicode.pl


十分感謝!
unicode的轉(zhuǎn)換處理簡(jiǎn)單又復(fù)雜。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP