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

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

6
ปัญหาการเข้ารหัส Java FileReader
ฉันพยายามใช้ java.io.FileReader เพื่ออ่านไฟล์ข้อความและแปลงเป็นสตริง แต่ฉันพบว่าผลลัพธ์นั้นเข้ารหัสผิดและไม่สามารถอ่านได้เลย นี่คือสภาพแวดล้อมของฉัน: Windows 2003, การเข้ารหัสระบบปฏิบัติการ: CP1252 Java 5.0 ไฟล์ของฉันเข้ารหัส UTF-8 หรือเข้ารหัส CP1252 และบางไฟล์ (ไฟล์ที่เข้ารหัส UTF-8) อาจมีอักขระจีน (ไม่ใช่ละติน) ฉันใช้รหัสต่อไปนี้เพื่อทำงานของฉัน: private static String readFileAsString(String filePath) throws java.io.IOException{ StringBuffer fileData = new StringBuffer(1000); FileReader reader = new FileReader(filePath); //System.out.println(reader.getEncoding()); BufferedReader reader = new BufferedReader(reader); char[] buf = new char[1024]; int …
130 java  file  unicode  encoding 

12
การแปลงสัญลักษณ์ตัวอักษรเน้นเสียงเป็นตัวอักษรภาษาอังกฤษ
ปัญหาคืออย่างที่คุณทราบมีอักขระหลายพันตัวในแผนภูมิ Unicodeและฉันต้องการแปลงอักขระที่คล้ายกันทั้งหมดเป็นตัวอักษรที่เป็นตัวอักษรภาษาอังกฤษ ตัวอย่างเช่นนี่คือการแปลงบางส่วน: ҥ->H Ѷ->V Ȳ->Y Ǭ->O Ƈ->C tђє Ŧค๓เℓy --> the Family ... และฉันเห็นว่ามีตัวอักษร A / a มากกว่า 20 เวอร์ชัน และฉันไม่รู้ว่าจะจัดประเภทอย่างไร ดูเหมือนเข็มในกองหญ้า รายการที่สมบูรณ์ของตัวอักษร Unicode ที่http://www.ssec.wisc.edu/~tomw/java/unicode.html หรือhttp://unicode.org/charts/charindex.html เพียงแค่ลองเลื่อนลงและดูรูปแบบของตัวอักษร ฉันจะแปลงสิ่งเหล่านี้ด้วย Java ได้อย่างไร โปรดช่วยฉัน :(

7
UTF-8 แบบปกติคืออะไร?
โครงการไอซียู (ซึ่งตอนนี้ยังมีห้องสมุด PHP ) มีการเรียนที่จำเป็นในการช่วยเหลือปกติ UTF-8 สตริงเพื่อให้ง่ายในการเปรียบเทียบค่าเมื่อการค้นหา อย่างไรก็ตามฉันกำลังพยายามหาว่านี่หมายถึงอะไรสำหรับแอปพลิเคชัน ตัวอย่างเช่นในกรณีใดที่ฉันต้องการ "ความเท่าเทียมกันของมาตรฐาน" แทน "ความเท่าเทียมกันของความเข้ากันได้" หรือในทางกลับกัน


8
รหัสอักขระ HTML 8203 คืออะไร
โค้ดอักขระ (HTML) ​คืออะไร? ฉันพบมันในสคริปต์ jQuery ของฉันและสงสัยว่ามันคืออะไร .. ขอบคุณ แก้ไข: นี่คือสคริปต์ที่มีอยู่ (ถูกเพิ่มเข้าไปในตอนท้ายพบได้ใน Firebug) <script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script> <script type="text/javascript"> var $jnyh = jQuery.noConflict(); $jnyh(function() { $jnyh("#title-nyh").click(function() { $jnyh(".show-hide-nyh").slideDown("slow"); }, function() { if(!$jnyh(this).data('pinned')) $jnyh(".show-hide-nyh").slideUp("slow"); }); $jnyh("#title-nyh").click(function() { $jnyh(this).parent().toggleClass("title-btm-brdr"); $jnyh(this).toggleClass("chev-up-result"); var pin = $jnyh(this).data('pinned'); $jnyh(this).data('pinned', !pin); if(pin) $jnyh(".show-hide-nyh").slideUp("slow"); }); });​​ </script>

3
เทียบเท่า Unicode สำหรับ \ w และ \ b ​​ในนิพจน์ทั่วไปของ Java?
การใช้ regex สมัยใหม่จำนวนมากตีความการ\wชวเลขคลาสอักขระเป็น "ตัวอักษรตัวเลขหรือเครื่องหมายวรรคตอนเชื่อมต่อ" (โดยปกติ: ขีดล่าง) วิธีการที่เป็นเช่น regex \w+ตรงกับคำที่ชอบhello, élève, หรือGOÄ_432gefräßig น่าเสียดายที่ Java ไม่มี ใน Java \wจำกัด ไว้ที่[A-Za-z0-9_]. ทำให้การจับคู่คำเหมือนที่กล่าวมาข้างต้นเป็นเรื่องยากท่ามกลางปัญหาอื่น ๆ นอกจากนี้ยังปรากฏว่า\bตัวคั่นคำตรงกับที่ที่ไม่ควร อะไรคือสิ่งที่ถูกต้องเทียบเท่ากับ. NET-like, Unicode-Aware \wหรือ\bใน Java ทางลัดอื่นใดที่ต้อง "เขียนใหม่" เพื่อให้ Unicode-ตระหนัก

10
จะป้องกันไม่ให้อักขระ Unicode แสดงผลเป็นอีโมจิใน HTML จาก JavaScript ได้อย่างไร
ฉันพบ Unicode อักขระพิเศษจากการค้นหาของ FileFormat.Info อักขระบางตัวแสดงเป็นร่ายมนตร์ขาวดำแบบคลาสสิกเช่น⚠ (ป้ายเตือน\u26A0หรือ⚠) สิ่งเหล่านี้ดีกว่าเนื่องจากฉันสามารถใช้สไตล์ CSS (เช่นสี) กับพวกเขาได้ คนอื่น ๆ กำลังแสดงผลเป็นอีโมจิการ์ตูนที่ใหม่กว่าเช่น⌛ (นาฬิกาทราย\u231Bหรือ⌛) สิ่งเหล่านี้ไม่เป็นที่ต้องการเนื่องจากฉันไม่สามารถจัดสไตล์ได้อย่างสมบูรณ์ ดูเหมือนว่าเบราว์เซอร์จะทำการเปลี่ยนแปลงนี้เนื่องจากฉันสามารถเห็นสัญลักษณ์นาฬิกาทรายบน Mac Firefox ไม่ใช่แค่ Mac Chrome หรือ Mac Safari มีวิธีบังคับให้เบราว์เซอร์แสดงเวอร์ชัน (เสียงเดียวแบบแบน) ที่เก่ากว่าหรือไม่? ปรับปรุง : ดูเหมือน (จากความคิดเห็นด้านล่าง) มีการเลือกนำเสนอข้อความ , FE0Eที่มีอยู่ในการบังคับใช้ข้อความ VS-อีโมจิ ตัวเลือกจะเชื่อมต่อกันเป็นส่วนต่อท้ายโดยไม่มีช่องว่างบนโค้ดของอักขระเช่น⌛︎HTML hex หรือ\u231B\uFE0Eสำหรับ JS อย่างไรก็ตามเบราว์เซอร์ทั้งหมดไม่ได้รับเกียรติจากเบราว์เซอร์ทั้งหมด (เช่น Chrome และ Edge)
120 javascript  html  css  unicode  emoji 

7
Python - ตัวแปลงสัญญาณ 'ascii' ไม่สามารถถอดรหัสไบต์ได้
ฉันสับสนจริงๆ ผมพยายามที่จะเข้ารหัส can't decode...แต่ข้อผิดพลาดดังกล่าว >>> "你好".encode("utf8") Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 0: ordinal not in range(128) ฉันรู้วิธีหลีกเลี่ยงข้อผิดพลาดที่มีคำนำหน้า "u" ในสตริง ฉันแค่สงสัยว่าทำไมจึงเกิดข้อผิดพลาด "ไม่สามารถถอดรหัส" เมื่อมีการเรียกการเข้ารหัส Python กำลังทำอะไรอยู่ภายใต้ประทุน?

4
CSS: จะเพิ่มพื้นที่สีขาวก่อนเนื้อหาขององค์ประกอบได้อย่างไร
รหัสต่อไปนี้ใช้ไม่ได้: p:before { content: " "; } p:before { content: " "; } ฉันจะเพิ่มช่องว่างก่อนเนื้อหาขององค์ประกอบได้อย่างไร หมายเหตุ: ฉันต้องการสีขอบซ้ายและขอบซ้ายสำหรับการใช้ความหมายและใช้ช่องว่างเป็นขอบที่ไม่มีสี :)

13
การสร้างอักขระ Unicode จากหมายเลข
ฉันต้องการแสดงอักขระ Unicode ใน Java ถ้าฉันทำเช่นนี้มันก็ใช้ได้ดี: String symbol = "\u2202"; สัญลักษณ์เท่ากับ "∂" นั่นคือสิ่งที่ฉันต้องการ. ปัญหาคือฉันรู้หมายเลข Unicode และจำเป็นต้องสร้างสัญลักษณ์ Unicode จากสิ่งนั้น ฉันพยายาม (กับฉัน) สิ่งที่ชัดเจน: int c = 2202; String symbol = "\\u" + c; อย่างไรก็ตามในกรณีนี้สัญลักษณ์จะเท่ากับ "\ u2202" นั่นไม่ใช่สิ่งที่ฉันต้องการ ฉันจะสร้างสัญลักษณ์ได้อย่างไรถ้าฉันรู้หมายเลข Unicode ของมัน (แต่เฉพาะในขณะทำงานเท่านั้น - ฉันไม่สามารถฮาร์ดโค้ดได้เหมือนตัวอย่างแรก)

6
ฉันจะส่งออก UTF-8 จาก Perl ได้อย่างไร
ฉันพยายามเขียนสคริปต์ Perl โดยใช้ pragma "utf8" และได้ผลลัพธ์ที่ไม่คาดคิด ฉันใช้ Mac OS X 10.5 (Leopard) และกำลังแก้ไขด้วย TextMate การตั้งค่าทั้งหมดของฉันสำหรับทั้งตัวแก้ไขและระบบปฏิบัติการของฉันเป็นค่าเริ่มต้นในการเขียนไฟล์ในรูปแบบ utf-8 อย่างไรก็ตามเมื่อฉันป้อนสิ่งต่อไปนี้ลงในไฟล์ข้อความบันทึกเป็น ".pl" และดำเนินการฉันได้รับ "เพชรที่มีเครื่องหมายคำถาม" ที่เป็นมิตรแทนอักขระที่ไม่ใช่ ASCII #!/usr/bin/env perl -w use strict; use utf8; my $str = 'Çirçös'; print( "$str\n" ); มีความคิดว่าฉันทำอะไรผิดหรือเปล่า? ฉันคาดหวังว่าจะได้ 'Çirçös' ในผลลัพธ์ แต่ฉันได้ ' ir s' แทน
110 perl  unicode  utf-8 

3
UTF-8“ การเข้ารหัสความกว้างตัวแปร” ทำงานอย่างไร
มาตรฐาน Unicode มีจุดรหัสเพียงพอที่คุณต้องใช้ 4 ไบต์ในการจัดเก็บทั้งหมด นั่นคือสิ่งที่การเข้ารหัส UTF-32 ทำ แต่การเข้ารหัส UTF-8 ก็บีบให้สิ่งเหล่านี้มีช่องว่างเล็กลงมากโดยใช้สิ่งที่เรียกว่า "การเข้ารหัสความกว้างตัวแปร" ในความเป็นจริงมันสามารถแทนอักขระ 127 ตัวแรกของ US-ASCII ได้เพียงหนึ่งไบต์ซึ่งดูเหมือน ASCII จริงดังนั้นคุณสามารถตีความข้อความ ascii จำนวนมากราวกับว่าเป็น UTF-8 โดยไม่ต้องทำอะไรเลย เคล็ดลับเรียบร้อย แล้วมันทำงานอย่างไร? ฉันจะถามและตอบคำถามของตัวเองที่นี่เพราะฉันเพิ่งอ่านไปพอสมควรและฉันคิดว่ามันอาจช่วยคนอื่นได้บ้าง นอกจากนี้อาจมีใครแก้ไขฉันได้ถ้าฉันทำผิด

3
อักขระ Unicode ที่ไม่ใช่ BMP ที่พบบ่อยที่สุดในการใช้งานจริงคืออะไร? [ปิด]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ จากประสบการณ์ของคุณว่าอักขระ Unicode จุดรหัสช่วงใดที่อยู่นอก BMP (Basic Multilingual Plane) นั้นพบได้บ่อยที่สุด? นี่คือสิ่งที่ต้องใช้ 4 ไบต์ใน UTF-8 หรือตัวแทนใน UTF-16 ฉันคาดว่าคำตอบจะเป็นตัวอักษรจีนและญี่ปุ่นที่ใช้ในชื่อ แต่ไม่รวมอยู่ในชุดอักขระหลายไบต์ CJK ที่แพร่หลายที่สุด แต่ในโครงการที่ฉันทำงานส่วนใหญ่คือวิกิพจนานุกรมภาษาอังกฤษเราพบว่าตัวอักษรโกธิคคือ พบมากขึ้นจนถึงปัจจุบัน อัปเดต ฉันได้เขียนเครื่องมือซอฟต์แวร์สองสามตัวเพื่อสแกนวิกิพีเดียทั้งหมดเพื่อหาอักขระที่ไม่ใช่ BMP และพบว่าฉันประหลาดใจที่แม้แต่ในอักษรกอธิคของวิกิพีเดียภาษาญี่ปุ่นก็เป็นเรื่องธรรมดาที่สุด นี่เป็นความจริงเช่นกันในวิกิพีเดียภาษาจีน แต่ก็มีการใช้ตัวอักษรจีนมากถึง 50 หรือ 70 ครั้งรวมถึง "𨭎" "𠬠" และ "𩷶"

5
วิธีที่เหมาะสมในการเข้ารหัส URL ของอักขระ Unicode คืออะไร?
ฉันรู้จักโครงการ% uxxxx ที่ไม่ได้มาตรฐาน แต่ดูเหมือนจะไม่ใช่ทางเลือกที่ชาญฉลาดเนื่องจากโครงการนี้ถูกปฏิเสธโดย W3C ตัวอย่างที่น่าสนใจ: ตัวละครหัวใจ หากฉันพิมพ์สิ่งนี้ลงในเบราว์เซอร์ของฉัน: http://www.google.com/search?q=♥ จากนั้นคัดลอกและวางฉันเห็น URL นี้ http://www.google.com/search?q=%E2%99%A5 ซึ่งทำให้ดูเหมือนว่า Firefox (หรือ Safari) กำลังทำสิ่งนี้ urllib.quote_plus(x.encode("latin-1")) '%E2%99%A5' ซึ่งสมเหตุสมผลยกเว้นสิ่งที่ไม่สามารถเข้ารหัสเป็นภาษาลาติน -1 ได้เช่นอักขระจุดสามจุด … ถ้าฉันพิมพ์ URL http://www.google.com/search?q=… ลงในเบราว์เซอร์ของฉันจากนั้นคัดลอกและวางฉันจะได้รับ http://www.google.com/search?q=%E2%80%A6 กลับ. ซึ่งน่าจะเป็นผลจากการทำ urllib.quote_plus(x.encode("utf-8")) ซึ่งสมเหตุสมผลเนื่องจาก…ไม่สามารถเข้ารหัสด้วย Latin-1 แต่มันก็ไม่ชัดเจนสำหรับฉันว่าเบราว์เซอร์รู้ได้อย่างไรว่าจะถอดรหัสด้วย UTF-8 หรือ Latin-1 เนื่องจากสิ่งนี้ดูเหมือนจะคลุมเครือ: In [67]: u"…".encode('utf-8').decode('latin-1') Out[67]: u'\xc3\xa2\xc2\x80\xc2\xa6' ใช้งานได้ดังนั้นฉันไม่รู้ว่าเบราว์เซอร์คิดอย่างไรว่าจะถอดรหัสด้วย UTF-8 หรือ Latin-1 อะไรคือสิ่งที่ถูกต้องในการทำกับตัวละครพิเศษที่ฉันต้องจัดการ?


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