อิโมติคอนดูเหมือนจะถูกระบุโดยใช้รูปแบบของ U + xxxxx
โดยที่แต่ละ x เป็นเลขฐานสิบหก
ตัวอย่างเช่นU + 1F615เป็นรหัส Unicode Consortium อย่างเป็นทางการสำหรับ "สับสนใบหน้า" 😕
เมื่อฉันสับสนบ่อยฉันมีความสัมพันธ์ที่ดีต่อสัญลักษณ์นี้
การแทนU + 1F615ทำให้ฉันสับสนเพราะฉันคิดว่าการเข้ารหัสที่เป็นไปได้สำหรับอักขระ Unicode ต้องใช้ 8, 16, 24 หรือ 32 บิตในขณะที่ 5 หลักเลขฐานสิบต้องมี 5x4 = 20 บิต
ฉันได้ค้นพบว่าสัญลักษณ์นี้น่าจะเป็นสตริงเลขฐานสิบหกที่แตกต่างกันโดยสิ้นเชิงใน bash:
$echo -n 😕 | hexdump
0000000 f0 9f 98 95
0000004
$echo -e "\xf0\x9f\x98\x95"
😕
$PS1=$'\xf0\x9f\x98\x95 >'
😕 >
ผมคาดว่าจะมีU + 1F615การแปลงเพื่อสิ่งที่ต้องการ\ x00 \ x01 \ xF6 \
ฉันไม่เห็นความสัมพันธ์ระหว่างการเข้ารหัสทั้งสองนี้หรือไม่
เมื่อฉันค้นหาสัญลักษณ์ในรายการUnicode Consortium อย่างเป็นทางการฉันต้องการใช้รหัสนั้นโดยตรงโดยไม่ต้องแปลงด้วยตนเองในแบบที่น่าเบื่อนี้ กล่าวคือ
- การค้นหาสัญลักษณ์บนหน้าเว็บบางหน้า
- คัดลอกไปยังคลิปบอร์ดของเว็บเบราว์เซอร์
- วางใน bash เพื่อสะท้อนผ่าน hexdump เพื่อค้นหารหัส REAL
ฉันสามารถใช้รหัส 20 บิตนี้เพื่อกำหนดรหัส 32 บิตได้ไหม
มีความสัมพันธ์ระหว่างตัวเลขทั้งสองนี้หรือไม่?
\U1F615
ตามด้วยเลขฐานสิบหกหลักที่ถูกต้องแล้วจะถือว่าเป็นส่วนหนึ่งของลำดับการหลบหนี เพื่อให้มันทำงานโดยไม่คำนึงถึงสิ่งที่ตามมามันจะต้องมีศูนย์นำหน้ามากพอที่จะมีความยาวแปดหลักอย่างแน่นอน\U0001F615