นี่คือคำสั่ง preconv ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
preconv - แปลงการเข้ารหัสของไฟล์อินพุตเป็นสิ่งที่ GNU troff เข้าใจ
เรื่องย่อ
พรีคอนแวนต์ [- ดร] [-e การเข้ารหัส] [ไฟล์ ...]
พรีคอนแวนต์ -h | --ช่วยด้วย
พรีคอนแวนต์ -v | --รุ่น
เป็นไปได้ที่จะมีช่องว่างระหว่าง -e ตัวเลือกบรรทัดคำสั่งและพารามิเตอร์
DESCRIPTION
พรีคอนแวนต์ อ่าน ไฟล์ และแปลงการเข้ารหัสให้อยู่ในรูปแบบ GNU troff(1) สามารถประมวลผล
ส่งข้อมูลไปยังเอาต์พุตมาตรฐาน ปัจจุบันนี้หมายถึงอักขระ ASCII และ
เอนทิตี '\[uXXXX]' โดยที่ 'XXXX' เป็นเลขฐานสิบหกที่มีตัวเลขสี่ถึงหกหลัก
แทนรหัสอินพุต Unicode โดยทั่วไป, พรีคอนแวนต์ ควรเรียกด้วย -k และ -K
ตัวเลือกของ กร๊ฟ.
OPTIONS
-d ส่งข้อความการดีบักไปยังข้อผิดพลาดมาตรฐาน (ส่วนใหญ่เป็นการเข้ารหัสที่ใช้)
-Dการเข้ารหัส
ระบุการเข้ารหัสเริ่มต้นหากทุกอย่างล้มเหลว (ดูด้านล่าง)
-eการเข้ารหัส
ระบุการเข้ารหัสอินพุตอย่างชัดเจน แทนที่วิธีอื่นๆ ทั้งหมด นี้สอดคล้อง
ไปยัง กร๊ฟ's -Kการเข้ารหัส ตัวเลือก. หากไม่มีสวิตช์นี้ พรีคอนแวนต์ ใช้อัลกอริทึม
อธิบายด้านล่างเพื่อเลือกการเข้ารหัสอินพุต
--ช่วยด้วย
-h พิมพ์ข้อความช่วยเหลือ
-r อย่าเพิ่มคำขอ .lf
--รุ่น
-v พิมพ์หมายเลขรุ่น
การใช้
พรีคอนแวนต์ พยายามค้นหาการเข้ารหัสอินพุตด้วยอัลกอริทึมต่อไปนี้
1. หากมีการระบุการเข้ารหัสอินพุตอย่างชัดเจนด้วย option -e, ใช้มัน.
2. มิฉะนั้น ให้ตรวจสอบว่าอินพุตเริ่มต้นด้วย a . หรือไม่ byte สั่งซื้อ ผลิตโดย (BOM ดูด้านล่าง)
หากพบว่าใช้
3. สุดท้าย ตรวจสอบว่ามีที่รู้จักหรือไม่ การเข้ารหัส แท็ก (ดูด้านล่าง) อย่างใดอย่างหนึ่งก่อน
หรือบรรทัดอินพุตที่สอง หากพบว่าใช้
4. หากทุกอย่างล้มเหลว ให้ใช้การเข้ารหัสเริ่มต้นตามที่ระบุในตัวเลือก -Dโดยปัจจุบัน
locale หรือ 'latin1' หากตั้งค่า locale เป็น 'C', 'POSIX' หรือว่างเปล่า (ตามลำดับนั้น)
โปรดทราบว่า กร๊ฟ โปรแกรมรองรับ a GROFF_ENCODING ตัวแปรสภาพแวดล้อมซึ่งก็คือ
ในที่สุดก็ขยายตัวเลือก -k.
byte สั่งซื้อ ผลิตโดย
Unicode Standard กำหนดอักขระ U+FEFF เป็น Byte Order Mark (BOM) อีกด้านหนึ่ง
มือ ค่า U+FFFE รับประกันว่าไม่ใช่อักขระ Unicode เลย ซึ่งช่วยให้สามารถตรวจจับ
ลำดับไบต์ภายในสตรีมข้อมูล (ทั้ง big-endian หรือ lower-endian) และ MIME
การเข้ารหัส 'UTF-16' และ 'UTF-32' คำสั่งที่สตรีมข้อมูลเริ่มต้นด้วย U+FEFF
ในทำนองเดียวกัน สตรีมข้อมูลที่เข้ารหัสเป็น 'UTF-8' อาจเริ่มต้นด้วย BOM (เพื่อให้
การแปลงจากและเป็น UTF-16 และ UTF-32) ในทุกกรณี เครื่องหมายลำดับไบต์คือ ไม่ ส่วนหนึ่ง
ของข้อมูลแต่เป็นส่วนหนึ่งของโปรโตคอลการเข้ารหัส กล่าวอีกนัยหนึ่ง พรีคอนแวนต์เอาต์พุตไม่ได้
บรรจุมัน
โปรดทราบว่า U+FEFF ไม่ได้อยู่ที่จุดเริ่มต้นของข้อมูลที่ป้อนเข้าจริง มันมีแล้ว
ความหมายของอักขระ 'zero width no-break space' – สิ่งที่ไม่จำเป็นตามปกติใน
กร๊ฟ.
การเข้ารหัส แท็ก
บรรณาธิการที่รองรับการเข้ารหัสอักขระมากกว่าหนึ่งตัวต้องการแท็กภายในอินพุต
ไฟล์เพื่อทำเครื่องหมายการเข้ารหัสของไฟล์ ในขณะที่สามารถเดาการเข้ารหัสอินพุตที่ถูกต้องได้
ด้วยความช่วยเหลือของอัลกอริธึมฮิวริสติกสำหรับข้อมูลซึ่งแสดงถึงจำนวนที่มากกว่า
ภาษาธรรมชาติก็ยังเป็นแค่การคาดเดา นอกจากนี้ อัลกอริธึมทั้งหมดล้มเหลวอย่างง่ายดายสำหรับ
อินพุตที่สั้นเกินไปหรือไม่ได้แสดงถึงภาษาที่เป็นธรรมชาติ
ด้วยเหตุผลเหล่านี้, พรีคอนแวนต์ รองรับข้อตกลงแท็กการเข้ารหัส (มีข้อ จำกัด บางประการ) เช่น
ใช้โดย GNU Emacs และ XEmac (และอาจจะเป็นโปรแกรมอื่นๆ ด้วย)
แท็กการเข้ารหัสใน GNU Emacs และ XEmac ถูกเก็บไว้ในสิ่งที่เรียกว่า เนื้อไม่มีมัน ตัวแปร. พรีคอนแวนต์
รู้จักรูปแบบไวยากรณ์ต่อไปนี้ซึ่งจะต้องใส่ลงในความคิดเห็น troff ในครั้งแรก
หรือบรรทัดที่สอง
- * - tag1: ค่า 1; tag2: ค่า 2- -
แท็กที่เกี่ยวข้องเท่านั้นสำหรับ พรีคอนแวนต์ คือ 'การเข้ารหัส' ซึ่งสามารถรับค่าตามรายการด้านล่าง
นี่คือตัวอย่างบรรทัดที่บอกว่า Emacs เพื่อแก้ไขไฟล์ในโหมด troff และใช้ latin2 as
การเข้ารหัสของมัน
.\" -*- โหมด: troff; การเข้ารหัส: latin-2 -*-
รายการต่อไปนี้ให้แท็กการเข้ารหัส MIME ทั้งหมด (ตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่) ที่รองรับโดย
พรีคอนแวนต์; รายการนี้มีฮาร์ดโค้ดในแหล่งที่มา
big5, cp1047, euc-jp, euc-kr, gb2312, iso-8859-1, iso-8859-2, iso-8859-5,
iso-8859-7, iso-8859-9, iso-8859-13, iso-8859-15, koi8-r, us-ascii, utf-8, utf-16,
utf-16be, utf-16le
นอกจากนี้ รายการแท็กอื่นๆ ที่ฮาร์ดโค้ดต่อไปนี้ได้รับการยอมรับซึ่งในที่สุด
แมปกับค่าจากรายการด้านบน
ascii, จีน-big5, จีน-euc, จีน-iso-8bit, cn-big5, cn-gb, cn-gb-2312,
cp878, csascii, csisolatin1, cyrillic-iso-8bit, cyrillic-koi8, euc-จีน, euc-cn,
euc-japan, euc-japan-1990, euc-korea, กรีก-iso-8bit, iso-10646/utf8,
iso-10646/utf-8, iso-latin-1, iso-latin-2, iso-latin-5, iso-latin-7, iso-ละติน-9,
ญี่ปุ่น-euc, ญี่ปุ่น-iso-8bit, jis8, koi8, เกาหลี-euc, เกาหลี-iso-8bit, ละติน-0,
ละติน1, ละติน-1, ละติน-2, ละติน-5, ละติน-7, ละติน-9, mule-utf-8, mule-utf-16,
mule-utf-16be, mule-utf-16-be, mule-utf-16be- พร้อมลายเซ็น, mule-utf-16le,
ล่อ-utf-16-le, ล่อ-utf-16le-พร้อมลายเซ็น, utf8, utf-16-be,
utf-16-be-พร้อมลายเซ็น, utf-16be-พร้อมลายเซ็น, utf-16-le,
utf-16-le-พร้อมลายเซ็น utf-16le-พร้อมลายเซ็น
แท็กเหล่านั้นนำมาจาก GNU Emacs และ XEmacร่วมกับนามแฝงบางส่วน ต่อท้าย
ส่วนต่อท้าย '-dos', '-unix' และ '-mac' ของแท็กการเข้ารหัส (ซึ่งกำหนดแบบแผนสิ้นสุดบรรทัด
ที่ใช้ในไฟล์) จะถูกถอดออกก่อนที่จะเปรียบเทียบกับแท็กด้านบน
iconv ประเด็น
พรีคอนแวนต์ โดยตัวมันเองรองรับการเข้ารหัสสามแบบเท่านั้น: latin-1, cp1047 และ UTF-8; อื่นๆ ทั้งหมด
การเข้ารหัสจะถูกส่งต่อไปยัง iconv ฟังก์ชั่นห้องสมุด ในเวลารวบรวมจะมีการค้นหาและ
ตรวจสอบความถูกต้อง iconv การดำเนินการ; การเรียก 'preconv --version' แสดงว่า
iconv ถูกนำมาใช้.
ใช้ preconv ออนไลน์โดยใช้บริการ onworks.net