ฉันไม่รู้วิธีที่ดีในการตรวจสอบสิ่งนี้bash
แต่ Python มีฐานข้อมูล Unicode ในตัวซึ่งคุณสามารถใช้งานได้เหมือนในสคริปต์เช่นนี้
#!/usr/bin/env python
import sys, unicodedata
for ch in sys.stdin.read().decode('utf-8'):
try:
print unicodedata.name(ch)
except ValueError:
print 'codepoint ', ord(ch)
คุณสามารถใช้สคริปต์นี้เช่นนี้ (สมมติว่าคุณเรียกมันว่าunicode-names
):
$ echo 'abc©áοπρσ' | unicode-names
LATIN SMALL LETTER A
LATIN SMALL LETTER B
LATIN SMALL LETTER C
COPYRIGHT SIGN
LATIN SMALL LETTER A WITH ACUTE
GREEK SMALL LETTER OMICRON
GREEK SMALL LETTER PI
GREEK SMALL LETTER RHO
GREEK SMALL LETTER SIGMA
codepoint 10
ฐานข้อมูลมีValueError
ข้อยกเว้นสำหรับตัวละครใด ๆ ที่ไม่ทราบดังนั้นเราจึงพิมพ์ codepoints ของพวกเขาเป็นทศนิยม
Caveat: สคริปต์ถือว่าเทอร์มินัลของคุณคือแบบเข้ารหัส UTF-8 หากไม่เป็นเช่นนั้นคุณควรเปลี่ยนอาร์กิวเมนต์ของdecode()
วิธีการ Python สนับสนุนการเข้ารหัสที่มีให้เลือกมากมายคุณจะอยู่ในนั้นแน่นอน
echo -n …— | uniname -bcegpu