คำถามติดแท็ก unicode

Unicode เป็นมาตรฐานอุตสาหกรรมคอมพิวเตอร์สำหรับการเข้ารหัสการแสดงและการจัดการข้อความที่สอดคล้องกันในระบบการเขียนส่วนใหญ่ของโลก

6
โปรไฟล์ Gnome Terminal สามารถใช้ UTF-8 เป็นค่าเริ่มต้นได้หรือไม่
ฉันใช้ระบบ Ubuntu (ฉันคิดว่า) ฉันไม่มีรูทดังนั้นฉันจึงไม่สามารถเปลี่ยนภาษาได้ ฉันต้องการให้โปรไฟล์เทอร์มินัลเริ่มต้นของฉันใช้ UTF-8 เป็นค่าเริ่มต้น ควรมีวิธีการทำเช่นนี้ไม่ว่าจะใน.gconf/apps/gnome-terminal/ไดเรกทอรีที่ใดที่หนึ่งหรือในตัวแปรสภาพแวดล้อมหรือบางสิ่งบางอย่าง อย่างไรก็ตามฉันไม่สามารถหามันได้ แก้ไขพร้อมรายละเอียดเพิ่มเติม: ในเทอร์มินัลฉันมี: grid-unv55$ locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= grid-unv55$ gnome-terminal เมื่อพยายามเพิ่มเอกสาร UTF ในเทอร์มินัลใหม่นั้นฉันจะได้รับ: \ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd \noise:bgspeech \ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd ซึ่งปรากฏบนหน้าจอของฉันเป็นจุด (uffds เป็นการตัดและแปะฉันทิ้ง "\ noise: bgspeech" ไว้ที่นั่นเพื่อให้คุณเห็นว่า ascii นั้นถูกตัดและวางอย่างถูกต้อง)

3
มีวิธีสากลในการเขียนอักขระ Unicode หรือไม่?
บางครั้งฉันต้องการเขียนอักขระ Unicode พิเศษเช่น em-dash (-) ในโปรแกรมต่าง ๆ เช่น vim, Chrome (เหมือนตอนนี้!) หรือ LibreOffice ใน LibreOffice ฉันสามารถทำสิ่งนี้ผ่านกล่องโต้ตอบเฉพาะที่อยู่ในเมนูแทรก โปรแกรมอื่น ๆ ดูเหมือนจะไม่มีวิธีในตัว โซลูชันของฉันในกรณีเหล่านี้คือค้นหาตัวละครใน Wikipedia คัดลอกและวางไว้ มีวิธีสากลในการเขียนอักขระ Unicode ในโปรแกรมใด ๆ ที่ยอมรับการป้อนข้อความใน Linux โดยไม่ต้องคัดลอกและวางจากที่ที่มันถูกพิมพ์ไปแล้วหรือไม่?

2
วิธีตรวจสอบว่าไฟล์มี BOM เป็นข้อความ utf-8
ฉันจะตรวจสอบว่าไฟล์ข้อความ utf-8 มี BOM จากบรรทัดคำสั่งได้อย่างไร fileUTF-8 Unicode textคำสั่งแสดงให้เห็นฉัน แต่ฉันไม่รู้ว่ามันหมายความว่าไม่มี BOM ในไฟล์ Ubuntu 12.04ฉันใช้
18 unicode 

6
ฉันจะแตกไฟล์ ZIP ที่มีชื่อภาษาฮิบรูอย่างถูกต้องได้อย่างไร?
มีคนส่งไฟล์ ZIP ที่มีไฟล์ที่มีชื่อภาษาฮิบรูมาให้ฉัน (และสร้างขึ้นใน Windows ไม่แน่ใจว่าใช้เครื่องมือใด) ฉันใช้ LXDE กับ Debian Stretch เครื่องมือจัดการเก็บถาวรของ Gnome จัดการเพื่อคลายซิปไฟล์ แต่ตัวอักษรฮีบรูนั้นอ่านไม่ออก ฉันคิดว่าฉันได้รับ UTF-8 octets ที่ขยายออกเป็นอักขระ Unicode เช่นฉันมีไฟล์ที่ชื่อมีสี่ตัวอักษรและ. doc พอเพียงและตัวละครคือ: 0x008E 0x0087 0x00887 0x0085 การใช้ยูทิลิตี unzip สำหรับบรรทัดคำสั่งนั้นยิ่งแย่กว่านั้น - มันปฏิเสธที่จะแตกไฟล์ออกมาโดยสิ้นเชิงโดยบ่นว่าเป็น "multibyte หรืออักขระตัวกว้างไม่ถูกต้องหรือไม่สมบูรณ์" ดังนั้นคำถามของฉันคือ: มียูทิลิตี้การแตกไฟล์อื่นที่จะแตกไฟล์ของฉันด้วยชื่อที่ถูกต้องหรือไม่? มีบางอย่างผิดปกติกับวิธีการบีบอัดไฟล์หรือเป็นเพียงความไม่เข้ากันของการใช้งาน ZIP หรือไม่ หรือแม้แต่ misfeature / bug ของยูทิลิตี้ ZIP ของ Linux? ฉันจะทำอย่างไรเพื่อให้ได้ชื่อไฟล์ที่ถูกต้องหลังจากคลายการบีบอัดโดยใช้ไฟล์ที่อ่านไม่ออก

2
เหตุใดอักขระ Unicode บางตัวจึงไม่พิมพ์ไปยังเทอร์มินัลของฉัน
ฉันกำลังเรียกใช้ Arch Linux ด้วยเทอร์มินัลอย่างง่ายโดยใช้แบบอักษร Adobe Source Code Pro LANG=en_US.UTF-8สถานที่เกิดเหตุของฉันเป็นที่ตั้งอย่างถูกต้อง ฉันต้องการพิมพ์อักขระ Unicode ที่เป็นตัวแทนการเล่นไพ่ไปยังเทอร์มินัลของฉัน ฉันใช้วิกิพีเดียสำหรับการอ้างอิง อักขระ Unicode สำหรับการ์ดทำงานได้ดี ตัวอย่างเช่นการออก $ printf "\u2660" พิมพ์หัวใจสีดำไปที่หน้าจอ อย่างไรก็ตามฉันมีปัญหากับการเล่นไพ่โดยเฉพาะ ออก $ printf "\u1F0A1" พิมพ์สัญลักษณ์Ἂ1แทนเอซโพดำ🂡 เกิดอะไรขึ้น ปัญหานี้ยังคงมีอยู่ในหลายเทอร์มินัล (urxvt, xterm, ปลวก) และตัวอักษรทุกตัวที่ฉันได้ลอง (DejaVu, Inconsolata)
16 bash  fonts  unicode  printf 

5
ฉันจะแปลงตัวเลขเปอร์เซียเป็น UTF-8 เป็นตัวเลขยุโรปใน ASCII ได้อย่างไร
ในตัวเลขเปอร์เซีย۰۱۲۳۴۵۶۷۸۹เท่ากับ0123456789ในหลักยุโรป ฉันจะแปลงหมายเลขเปอร์เซีย (เป็นUTF-8) เป็น ASCII ได้อย่างไร ตัวอย่างเช่นผมต้องการที่จะกลายเป็น۲۱21

3
วิธีการแปลงอิโมติคอนที่ระบุโดยรหัส U + xxxxx เป็น utf-8
อิโมติคอนดูเหมือนจะถูกระบุโดยใช้รูปแบบของ 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" 😕 …

2
coreutils ที่ utf ทราบหรือไม่?
เมื่อฉันใช้cutวันนี้ฉันพบว่ามันไม่ได้ใช้อักขระ UTF-8 เป็นตัวละคร แต่เป็น 3 ตัวเพราะความยาว 3 ไบต์ เรื่องนี้ดูเหมือนจะเป็นจริงสำหรับเครื่องมือต่าง ๆ มีรุ่นของcoreutilsUTF-8 ที่ทราบหรือไม่ localeผลลัพธ์ของฉัน: LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= นี่คือเมื่อcutไม่ทำงาน echo 哈哈 | cut -c 2- ��哈 ผลลัพธ์ที่ถูกต้องควรเป็น 哈 หากcut -cทำงานกับอักขระหลายไบต์
16 unicode  coreutils  cut 

4
ค้นหาแบบอักษรที่ดีที่สุดสำหรับการเรนเดอร์ codepoint
วิธีการค้นหาแบบอักษรที่เหมาะสมสำหรับการแสดงผล codepoints Unicode? gnome-terminalพบว่าตัวละครเช่น«🉃⼼😻🕲🝤»สามารถแสดงผลด้วยแบบอักษรเช่น Symbola มากกว่าแบบอักษรเทอร์มินัลของฉันหรือทางเลือกทางเลือก codepoint-in-square (????) ได้อย่างไร
16 fonts  unicode 

3
ไม่สามารถใช้ `cut -c` (` --characters`) กับ UTF-8 ได้หรือไม่?
คำสั่งcutมีตัวเลือกในการทำงานกับตัวละครแทนของไบต์ที่มีตัวเลือก-c -bแต่ดูเหมือนจะไม่ทำงานในen_US.UTF-8สถานที่: ไบต์ที่สองให้อักขระ ASCII ตัวที่สอง (ซึ่งเข้ารหัสเหมือนกันใน UTF-8): $ printf 'ABC' | cut -b 2 B แต่ไม่ได้ให้อักขระที่สองในสามของอักขระที่ไม่ใช่ ASCII กรีกในโลแคล UTF-8: $ printf 'αβγ' | cut -b 2 � ว่าไม่เป็นไร - เป็นที่สองไบต์ ดังนั้นเรามองไปที่ตัวละครที่สองแทน: $ printf 'αβγ' | cut -c 2 � ดูหัก ด้วยการทดลองบางอย่างปรากฎว่าช่วง3-4แสดงตัวละครที่สอง: $ printf 'αβγ' | cut -c 3-4 β แต่นั่นก็เหมือนกับไบต์ …

5
รับความกว้างการแสดงผลของสตริงอักขระ
สิ่งที่ใกล้เคียงที่สุดกับวิธีพกพาเพื่อให้ได้ความกว้างในการแสดงผล (บนเทอร์มินัลอย่างน้อยหนึ่งตัวที่แสดงอักขระในโลแคลปัจจุบันที่มีความกว้างที่ถูกต้อง) ของสตริงอักขระจากสคริปต์เชลล์ ฉันสนใจในความกว้างของตัวละครที่ไม่ได้ควบคุมเป็นหลัก แต่โซลูชั่นที่คำนึงถึงตัวควบคุมบัญชีเช่น backspace, carriage return, tabulation ในแนวนอนก็ยินดีเช่นกัน กล่าวอีกนัยหนึ่งฉันกำลังมองหาshell API รอบwcswidth()ฟังก์ชัน POSIX คำสั่งนั้นควรกลับมา: $ that-command 'unix' # 4 fullwidth characters 8 $ that-command 'Stéphane' # 9 characters, one of which zero-width 8 $ that-command 'もで 諤奯ゞ' # 5 double-width Japanese characters and a space 11 หนึ่งสามารถใช้ksh93's printf '%<n>Ls'ที่คำนึงถึงความกว้างตัวอักษรสำหรับการขยายไปยัง<n>คอลัมน์หรือcolคำสั่ง …

2
ชื่อไฟล์ UTF 8 หรือไม่
ในระบบปฏิบัติการยูนิกซ์ที่อนุญาตให้ใช้ชื่อไฟล์ utf6 ได้หรือไม่ ถ้าเป็นเช่นนั้นฉันต้องทำอะไรเป็นพิเศษเพื่อเขียนไฟล์ลงดิสก์ ให้ฉันอธิบายสิ่งที่ฉันหวังว่าจะทำ ฉันกำลังเขียนแอปพลิเคชันที่จะถ่ายโอนไฟล์ผ่าน ftp ไปยังระบบระยะไกล แต่ชื่อไฟล์นั้นถูกตั้งค่าแบบไดนามิกเป็นผ่านชุดข้อมูล meta บางชุดซึ่งอาจเป็น utf8 ฉันสงสัยว่ามีสิ่งที่ฉันต้องทำเพื่อเขียนไฟล์ลงดิสก์ในยูนิกซ์ / ลินุกซ์หรือไม่ ทุกคนรู้ว่าจะเกิดอะไรขึ้นถ้าฉันอัพโหลดชื่อไฟล์ utf 8 ไปยังระบบไม่รองรับ utf8?

2
grep: ค้นหาทุกบรรทัดที่มีตัวอักษรคันจิญี่ปุ่น
ในแฟ้มข้อความขนาดใหญ่ UTF-8 ผมต้องการที่จะแสดงให้ทุกบรรทัดที่ประกอบด้วยญี่ปุ่นkanjis อะไรgrep(หรืออื่น ๆ ) ไม่แสดงออกนี้หรือไม่? ถ้าฉันไม่ผิด kanjis ตัวละครระหว่างและ\u4e00\u4dbf ฉันไม่จำเป็นต้องแสดงkanasแต่การแสดงให้พวกเขาเช่นกันจะไม่เป็นปัญหาใหญ่
14 grep  unicode 

1
ฉันจะพิมพ์อักขระ Unicode ลงในเทอร์มินัล Konsole ของ KDE จากเดสก์ท็อป Gnome ได้อย่างไร
ฉันใช้ Ubuntu .. ใน 'gnome-terminal' ฉันสามารถพิมพ์ Unicode Codepoints โดยพิมพ์ครั้งแรก Ctrl-Shift-u ตามด้วยค่า hex Codepoint เช่น C-S-u 2468ผลิต⑨ konsoleเทอร์มินัลที่ฉันต้องการไม่มีฟีเจอร์ CSu (gnome) นี้ .. มีวิธี KDE ที่เทียบเท่าในการทำสิ่งนี้ใน Konsole หรือไม่

2
iconv ลำดับการป้อนข้อมูลที่ผิดกฎหมาย - เพราะอะไร
ขณะที่พยายามจะแปลงไฟล์ข้อความลงในเทียบเท่า ASCII iconv: illegal input sequence at positionของฉันได้รับข้อความข้อผิดพลาดที่ คำสั่งที่ฉันใช้คือ iconv -f UTF-8 -t ascii//TRANSLIT file æตัวละครที่กระทำผิดคือ แฟ้มข้อความที่ตัวเองมีอยู่ที่นี่ ทำไมพูดลำดับผิดกฎหมาย อักขระอินพุตเป็นอักขระ UTF-8 ที่เหมาะสม (U + 00E6)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.