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

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

3
สัญลักษณ์และตัวอักษรที่ยอดเยี่ยมในรูปแบบการทุบตี
ฉันวิ่งข้ามภาพหน้าจอของเทอร์มินัลของใครบางคน: มีรายการของตัวละครทั้งหมดที่สามารถใช้ได้ใน Bash prompt หรือใครบางคนสามารถรับตัวละครสำหรับดาวและลูกศรขวาได้ไหม?
81 bash  prompt  unicode 

6
ฉันจะลบ BOM ออกจากไฟล์ UTF-8 ได้อย่างไร
ฉันมีไฟล์ในการเข้ารหัส UTF-8 ด้วย BOM และต้องการลบ BOM มีเครื่องมือบรรทัดคำสั่ง linux เพื่อลบ BOM จากไฟล์หรือไม่? $ file test.xml test.xml: XML 1.0 document, UTF-8 Unicode (with BOM) text, with very long lines

2
ฉันจะตั้งค่าการเข้ารหัสเริ่มต้นของ VIM เป็น UTF-8 ได้อย่างไร
ฉันต้องการมีส่วนร่วมในโครงการโอเพนซอร์สที่ให้บริการสตริงที่แปล หนึ่งในความต้องการของพวกเขาคือผู้ร่วมให้ข้อมูลต้องใช้ UTF-8 เพื่อเข้ารหัสไฟล์ PO ฉันใช้ VIM 7.3 บน Linux ฉันจะแน่ใจได้อย่างไรว่าการเข้ารหัสของ VIM ถูกตั้งค่าเป็น UTF-8 ดังนั้นฉันจึงสามารถแก้ไขและบันทึกไฟล์. po ได้อย่างถูกต้อง

2
เหตุใด printf“ umlaut” umlaut?
ถ้าฉันรันสคริปต์ง่าย ๆ ต่อไปนี้: #!/bin/bash printf "%-20s %s\n" "Früchte und Gemüse" "foo" printf "%-20s %s\n" "Milchprodukte" "bar" printf "%-20s %s\n" "12345678901234567890" "baz" มันพิมพ์: Früchte und Gemüse foo Milchprodukte bar 12345678901234567890 baz นั่นคือข้อความที่มีเครื่องหมาย umlauts (เช่นü) คือ "หด" โดยอักขระหนึ่งตัวต่อ umlaut แน่นอนฉันมีการตั้งค่าผิดบางแห่ง แต่ฉันไม่สามารถคิดได้ว่าจะเป็นแบบไหน สิ่งนี้จะเกิดขึ้นหากการเข้ารหัสไฟล์เป็น UTF-8 หากฉันเปลี่ยนการเข้ารหัสเป็น latin-1 การจัดตำแหน่งนั้นถูกต้อง แต่ umlauts แสดงผลไม่ถูกต้อง: Fr�chte und Gem�se …
54 bash  unicode  printf 

6
การกรอง utf8 ที่ไม่ถูกต้อง
ฉันมีไฟล์ข้อความในการเข้ารหัสที่ไม่รู้จักหรือแบบผสม ฉันต้องการดูบรรทัดที่มีลำดับไบต์ที่ไม่ถูกต้อง UTF-8 (โดยไพพ์ไฟล์ข้อความลงในบางโปรแกรม) เท่ากันฉันต้องการกรองบรรทัดที่ถูกต้อง UTF-8 ในคำอื่น ๆ ฉันกำลังมองหาgrep [notutf8] ทางออกที่ดีที่สุดคือพกพาได้สั้นและปรับเปลี่ยนได้ทั่วไปสำหรับการเข้ารหัสอื่น ๆ แต่ถ้าคุณรู้สึกว่าวิธีที่ดีที่สุดคือการอบในนิยามของ UTF-8ไปได้เลย

2
แบบอักษรใดบ้างที่ดีสำหรับ Unicode ร่ายมนตร์
ดังนั้นฉันจึงดูคำตอบนี้ใน stackoverflowและตระหนักว่าแบบอักษรของฉันไม่ครอบคลุมยูนิโคดแบบ utf-8 สเปกตรัมทั้งหมด (เพราะฉันได้รับสแควร์สจำนวนมาก) ไม่มีใครรู้ว่าตัวอักษรที่จะครอบคลุมการโพสต์ทั้งหมดหรือไม่
38 fonts  unicode 

1
เราควรใช้อักขระ UTF-8 อย่าง⏰ใน bash / shell script หรือไม่?
รหัสง่าย ๆ ที่นี่ทำงานตามที่คาดไว้ในเครื่องของฉันหากเปิดตัวด้วยbash: function ⏰(){ date } ⏰ มีปัญหาสำหรับคนอื่นที่ใช้สิ่งนี้หรือเป็นสากลหรือไม่? ฉันสงสัยเพราะฉันไม่เคยเห็นอะไรแบบนี้ในซอร์สโค้ดอื่นในตอนนี้ แก้ไข: มีความเป็นไปได้ไม่ จำกัด สามารถใช้เพื่อแยกแยะบทบาทของฟังก์ชันกับการใช้อีโมจิได้อย่างรวดเร็ว A 💣สำหรับบางสิ่งที่สามารถแก้ไขหรือลบไฟล์ได้ a หากอยู่ในระหว่างดำเนินการ📃สำหรับเมนูแบบโต้ตอบ ... ฉันเดาว่าเราควรสร้างมาตรฐานสำหรับสิ่งเหล่านั้น แต่ดูเหมือนจะเป็นแนวคิดที่น่าสนใจ บางทีการสุ่มบรรทัดของอักขระ 5 ~ สามารถช่วยให้เราเข้าใจมากว่ารหัสกำลังทำอะไรอยู่ (แน่นอนเราต้องเรียนรู้วิธีอ่าน) แก้ไขเพิ่มเติม: ฉันให้มันยิง สำหรับตอนนี้ถ้าฉันพับฟังก์ชั่นทั้งหมดของฉันในโปรแกรมแก้ไข (หรือcat myscript.sh|grep function) พวกเขาจะมีลักษณะเช่นนี้ (ยูนิโค้ดของฉันดูดีขึ้นมากgeanyหรือเทอร์มินัลของฉันเมื่อเทียบกับที่นี่) function ⬚_1(){ function ⬚⬚_2(){ function ⬚⬚⬚_📃_D(){ function ⬚⬚⬚⬚_📃_X(){ function ⬚⬚⬚⬚⬚_📃_Y(){ function ⬚⬚⬚⬚⬚⬚_❓_P(){ function ⬚⬚⬚⬚_📃_Z(){ function ⬚⬚⬚⬚⬚_❓_U(){ …
36 bash  shell  unicode 

1
วิธีการทำให้ tr ตระหนักถึงอักขระที่ไม่ใช่ ascii (unicode)
ฉันกำลังพยายามลบอักขระบางตัวออกจากไฟล์ (UTF-8) ฉันใช้trเพื่อจุดประสงค์นี้: tr -cs '[[:alpha:][:space:]]' ' ' <testdata.dat ไฟล์มีอักขระต่างประเทศบางตัว (เช่น "Латвийская" หรือ "àé") trดูเหมือนจะไม่เข้าใจพวกเขามันถือว่าพวกเขาเป็นที่ไม่ใช่อัลฟาและลบออกด้วย ฉันพยายามเปลี่ยนการตั้งค่าภาษาของฉัน: LC_CTYPE=C LC_COLLATE=C tr -cs '[[:alpha:][:space:]]' ' ' <testdata.dat LC_CTYPE=ru_RU.UTF-8 LC_COLLATE=C tr -cs '[[:alpha:][:space:]]' ' ' <testdata.dat LC_CTYPE=ru_RU.UTF-8 LC_COLLATE=ru_RU.UTF-8 tr -cs '[[:alpha:][:space:]]' ' ' <testdata.dat น่าเสียดายที่ไม่มีสิ่งเหล่านี้ทำงาน ฉันจะทำให้trเข้าใจ Unicode ได้อย่างไร


5
อัปเดตเซิร์ฟเวอร์ arch linux ของฉันและตอนนี้ฉันได้รับ tmux: ต้องการสถานที่ตั้ง UTF-8 (LC_CTYPE) แต่มี ANSI_X3.4-1968
ฉันเพิ่งอัปเดตเซิร์ฟเวอร์ Arch Linux ของฉันและในระหว่างกระบวนการ tmux ได้รับการอัปเดต ฉันใช้tmuxในขณะที่การอัปเกรดเกิดขึ้นและใช้งานได้ในภายหลัง แต่ทั้งหมดในช่วงเซสชัน SSH เดียวกัน อย่างไรก็ตามตอนนี้เมื่อใดก็ตามที่ฉันพยายามที่จะออกtmuxคำสั่งใด ๆ ที่ฉันได้รับข้อผิดพลาดนี้: tmux: need UTF-8 locale (LC_CTYPE) but have ANSI_X3.4-1968 นี่คือผลลัพธ์จากlocale -aบนเซิร์ฟเวอร์: $ locale -a C POSIX และบนเครื่องของฉัน (Ubuntu 15.10): $ locale -a C C.UTF-8 en_AG en_AG.utf8 en_AU.utf8 en_BW.utf8 en_CA.utf8 en_DK.utf8 en_GB.utf8 en_HK.utf8 en_IE.utf8 en_IN en_IN.utf8 en_NG en_NG.utf8 en_NZ.utf8 …

4
จะระบุตัวอักษรโดยใช้รหัสเลขฐานสิบหกใน `grep 'ได้อย่างไร
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Unix & Linux Stack Exchange อพยพ 8 ปีที่ผ่านมา ฉันใช้คำสั่งต่อไปนี้เพื่อตั้งค่าช่วงอักขระ grep สำหรับรหัสเลขฐานสิบหก 0900 (แทนअ) ถึง 097F (แทนव) ฉันจะใช้รหัสเลขฐานสิบหกแทนअและवได้อย่างไร bzcat archive.bz2 | grep -v '<[अ-व]*\s' | tr '[:punct:][:blank:][:digit:]' '\n' | uniq | grep -o '^[अ-व]*$' | sort -f | uniq -c | sort -nr | head -50000 | …

3
ทำไมการเรียงลำดับจึงบอกว่าɛ = e
ɛ("ละติน epsilon") เป็นจดหมายที่ใช้ในบางภาษาแอฟริกันมักจะเป็นตัวแทนของเสียงสระในภาษาอังกฤษ "เตียง" ใน Unicode มันถูกเข้ารหัสเป็น U + 025B ซึ่งแตกต่างจากทุกวันeมาก อย่างไรก็ตามถ้าฉันsortต่อไปนี้: eb ed ɛa ɛc ดูเหมือนว่าจะsortพิจารณาɛและeเทียบเท่า: ɛa eb ɛc ed เกิดอะไรขึ้นที่นี่? และมีวิธีที่จะสร้างɛและeแยกแยะเพื่อsortวัตถุประสงค์?
25 sort  locale  unicode 

6
ใน bash ฉันจะแปลง Unicode Codepoint [0-9A-F] เป็นอักขระที่พิมพ์ได้ได้อย่างไร
ฉันมีรายการ codepoints ของ Unicode แต่ฉันไม่รู้วิธี "ง่าย" ในการแปลงค่าเลขฐานสิบหกเหล่านี้ให้เป็นอักขระจริงที่พวกเขาเป็นตัวแทน ... ฉันได้ยินว่าzshมีecho -e '\u0965'แต่ฉันใช้bash 4.1 มีบางสิ่งที่ง่ายเหมือนวิธี zsh สำหรับทุบตี?
23 bash  unicode 

6
แปลงระหว่าง Unicode Normalization Forms บนบรรทัดคำสั่ง unix
ใน Unicode ชุดอักขระบางตัวมีการแสดงมากกว่าหนึ่งรายการ ตัวอย่างเช่นอักขระäสามารถแสดงเป็น "ä" นั่นคือ codepoint U + 00E4 (สองไบต์c3 a4ในการเข้ารหัส UTF-8) หรือ "ä" นั่นคือ codepoints สองตัวคือ U + 0061 U + 0308 (สามไบต์61 cc 88ใน UTF-8) ตามมาตรฐาน Unicode ทั้งสองเป็นตัวแทนเทียบเท่า แต่ในการที่แตกต่างกัน "รูปแบบการฟื้นฟู" ดูUAX # 15: รูปแบบ กล่องเครื่องมือยูนิกซ์มีเครื่องมือการแปลงข้อความทุกชนิด, sed , tr , iconv , Perl เป็นที่จดจำ ฉันจะทำการแปลง NF อย่างรวดเร็วและง่ายดายบนบรรทัดรับคำสั่งได้อย่างไร


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