บทความนี้อธิบายถึงการใช้ตัวละครจีนให้กับ Pinyin4j ใน Java แบ่งปันสำหรับการอ้างอิงของคุณดังนี้:
การแปลงตัวละครจีนเป็นพินอินเป็นปัญหาที่พบบ่อยในการพัฒนาทุกวัน ตัวอย่างเช่นในปี 12306 ที่ยิ่งใหญ่ของเราถ้าคุณป้อน "WH" ลงในชื่อสถานที่คุณจะเห็นชื่อสถานที่เช่น "Wuhan", "Wuhu" และ "Weihai" และถ้าคุณเข้าสู่ "Wuhu" คุณจะเห็น "Wuhu"
Java ได้รับพินอินของตัวละครจีนและห้องสมุด Pinyin4J สามารถแก้ปัญหานี้ได้ดี
ดาวน์โหลดที่อยู่: http://sourceforge.net/projects/pinyin4j/
ดาวน์โหลดและคลายซิปมันมี pinyin4j--2.5.0.jar อยู่ข้างในเพียงใช้ห้องสมุดนี้
ตัวละครจีนถึงพินอิน:
การคัดลอกรหัสมีดังนี้: สตริง [] pinyin = pinyinhelper.tohanyupinyinstringarray ('re-re-re-re-);
บรรทัดของรหัสด้านบนคือการแปลงอักขระภาษาจีนตัวเดียวเป็นพินอินเช่นคำว่า "หนัก" ซึ่งส่งคืนอาร์เรย์ประเภทสตริง:
"Zhong4"
"Chong2"
"金" เป็นตัวละครโพลีโฟนิกและอาร์เรย์การส่งคืนของวิธีนี้มีพินอินของการออกเสียงทั้งหมดของตัวละครนี้ จำนวนสุดท้ายของการออกเสียงแต่ละครั้งคือน้ำเสียง (ครั้งแรกที่สองสองสามสี่ไม่จำเป็นต้องอธิบายสิ่งนี้)
ข้างต้นเป็นวิธีที่ง่ายที่สุดในการรับตัวละครจีนตัวเดียว คุณยังสามารถใช้ HanyupinyinoutputFormat เพื่อจัดรูปแบบรูปแบบที่ส่งคืนพินอิน
รูปแบบ hanyupinyinoutputformat = ใหม่ hanyupinyinoutputformat (); // uppercase: uppercase (zhong) // ตัวพิมพ์เล็ก: ตัวพิมพ์เล็ก (zhong) รูปแบบ setCasetype (hanyupinyincaseType.lowercase); (zhong4) // with_tone_mark: ใช้สัญลักษณ์การออกเสียงโดยตรง (กับ _u_unicode จะต้องใช้เป็นอย่างอื่นผิดปกติ) (zhòng) รูปแบบ. settonetype (hanyupinyintonetype.with_tone_mark); // with_v: ใช้ v (nv) with_u_unicode: ใช้ü (nü) format.setVchartype (hanyupinyinvchartype.with_u_unicode); string [] pinyin = PinyinHelper.toHanyuPinyinStringArray('re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re- re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-r e-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re -re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re- รูปแบบ); tohanyupinyinstringarray หากตัวละครที่ผ่านเข้ามาไม่ใช่ตัวละครจีนและไม่สามารถแปลงเป็นพินอินมันจะกลับมาเป็นโมฆะโดยตรงแม้ว่า Pinyin4j จะมีประโยชน์มาก แต่ก็ยังมีข้อ จำกัด รหัสข้างต้นสามารถรับพินอินของอักขระจีนเดี่ยวได้เท่านั้น แต่ไม่สามารถรับพินอินของคำที่มีอักขระโพลีโฟนิกได้ ตัวอย่างเช่น "ฉงชิ่ง" มันเป็นไปไม่ได้ที่จะตัดสินว่าเป็น "ฉงชิ่ง" หรือ "จงคิง" และ Pinyin4j ไม่สามารถตัดสินการออกเสียงของตัวละครโพลีโฟนิกผ่านบริบท
ดังนั้นเมื่อได้รับการออกเสียงของคำที่มีอักขระโพลีโฟนิกคุณสามารถกลับไปที่รายการและการออกเสียงที่ถูกต้องสามารถตัดสินและเลือกได้ด้วยตนเองเท่านั้น
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม Java ของทุกคน