utf8

แสดงที่เลิกใช้งานแล้ว

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

ไลบรารีนี้ให้การสนับสนุนพื้นฐานสำหรับการเข้ารหัส UTF-8ไลบรารีนี้ไม่ให้การสนับสนุน Unicode อื่นจากการจัดการการเข้ารหัสการดำเนินการใดๆ ที่ต้องการความหมายของตัวละคร เช่น การจัดประเภทตัวละคร อยู่นอกขอบเขต

เว้นแต่ระบุเป็นอย่างอื่น, ฟังก์ชันทั้งหมดที่คาดว่าตำแหน่งไบต์เป็นพารามิเตอร์จะคิดว่าตำแหน่งที่กำหนดเป็นจุดเริ่มต้นของลำดับไบต์หรือหนึ่งบวกความยาวของสตริงหัวข้อเช่นเดียวกับในห้องสมุดสตริง ดัชนีลบนับจากจุดสิ้นสุดของสตริง

คุณสามารถค้นหาคลังข้อมูลขนาดใหญ่ของตัวอักษรที่ใช้ได้ UTF-8 จำนวนมาก ที่นี่

สรุป

ฟังก์ชัน

  • char(codepoints : Tuple<number>):string

    แปลงจุดโค้ดเป็นศูนย์หรือมากกว่าเป็นลำดับไบต์ UTF-8

  • คืนฟังก์ชัน iterator ที่จะเลื่อนผ่านจุดโค้ดทั้งหมดในสตริงที่กำหนดไว้

  • คืนจุดรหัส (เป็นตัวเลข) จากจุดรหัสทั้งหมดในสตริงที่กำหนดไว้

  • คืนจำนวนจุดรหัส UTF-8 ในสตริงที่กำหนด

  • ส่งคืนตำแหน่ง (ในไบต์) ที่การเข้ารหัสของจุดตัวเลข (นับจากตำแหน่งไบต์ ) เริ่มต้น

  • คืนฟังก์ชัน iterator ที่จะเดินทางผ่านกลุ่มของ grapheme ของสตริงที่กำหนดไว้

  • แปลงสตริงอินพุตเป็นรูปแบบปกติ C

  • แปลงสตริงอินพุตเป็นรูปแบบปกติ D

คุณสมบัติ

  • รูปแบบ "[%z\x01-\x7F\xC2-\xF4][\x80-\xBF]*" ซึ่งตรงกับไบต์ข้อมูล UTF-8 ที่เป็นศูนย์หรือมากกว่านั้นโดยสมบูรณ์โดยสมมติว่าหัวข้อเป็นข้อความ UTF-8 ที่ถูกต้อง

ฟังก์ชัน

char

ได้รับจุดโค้ดเป็นศูนย์หรือมากกว่าเป็นตัวเลขแปลงแต่ละอันเป็นลำดับไบต์ UTF-8 และส่งคืนสตริงที่มีการรวมกันของลำดับเหล่านี้ทั้งหมด

พารามิเตอร์

codepoints: Tuple<number>

ส่งค่ากลับ

คืนฟังก์ชัน iterator เพื่อให้การสร้าง:


for position, codepoint in utf8.codes(str) do
-- ร่างกาย
end

จะตรวจสอบทุกจุดโค้ดในสตริง str จะเกิดข้อผิดพลาดหากมันพบลำดับบิตที่ไม่ถูกต้อง

พารามิเตอร์

str: string

สตริงที่จะตรวจสอบซ้ำ

ส่งค่ากลับ

codepoint

คืนจุดรหัส (เป็นตัวเลข) จากจุดรหัสทั้งหมดในสตริงที่ให้มา (str) ที่เริ่มต้นระหว่างตําแหน่งไบต์ i และ j (ทั้งสองรวมอยู่)ค่าเริ่มต้นสำหรับ i คือ 1 และสำหรับ j คือ iมันสร้างข้อผิดพลาดหากมันตรงกับลำดับบิตที่ไม่ถูกต้องใดๆ

พารามิเตอร์

str: string

ดัชนีของจุดรหัสที่ควรดึงจากสตริงนี้

ค่าเริ่มต้น: 1

ดัชนีของจุดโค้ดสุดท้ายระหว่าง i และ j ที่จะถูกส่งคืน หากถูกเอาออก จะเป็นค่าเริ่มต้นของ i

ค่าเริ่มต้น: i

ส่งค่ากลับ

คืนจำนวนจุดรหัส UTF-8 ในสตริง str ที่เริ่มต้นระหว่างตำแหน่ง i และ j (ทั้งสองรวมถึงกัน)ค่าเริ่มต้นสำหรับ i คือ 1 และสำหรับ j คือ -1หากพบลำดับบิตที่ไม่ถูกต้องใดๆ จะส่งคืนค่าเป็นศูนย์บวกตำแหน่งของบิตแรกที่ไม่ถูกต้อง

พารามิเตอร์

ตำแหน่งเริ่มต้น

ค่าเริ่มต้น: 1

ตำแหน่งสิ้นสุด

ค่าเริ่มต้น: -1

ส่งค่ากลับ

offset

ส่งคืนตำแหน่ง (ในไบต์) ที่การเข้ารหัสของจุดตัวเลข (นับจากตำแหน่งไบต์ ) เริ่มต้นลบ n ได้ตัวอักษรก่อนตำแหน่ง iค่าเริ่มต้นสำหรับ คือ เมื่อ เป็นบวกไม่เป็นลบและ มิฉะนั้นจะได้รับออฟเซ็ตของตัวอักษร ปิดฟังก์ชันจะคืน nil

พารามิเตอร์

ค่าเริ่มต้น: 1

ส่งค่ากลับ

graphemes

คืนฟังก์ชัน iterator เพื่อให้


for first, last in utf8.graphemes(str) do
local grapheme = s:sub(first, last)
-- ร่างกาย
end

จะทำซ้ำกลุ่มเสียงของสตริง

พารามิเตอร์

ส่งค่ากลับ

nfcnormalize

แปลงสตริงอินพุตเป็นรูปแบบปกติ C ซึ่งพยายามแปลงตัวอักษรที่แตกต่างกันเป็นตัวอักษรที่รวมกัน

พารามิเตอร์

str: string

ส่งค่ากลับ

nfdnormalize

แปลงสตริงอินพุตเป็นรูปแบบปกติ D ซึ่งพยายามแยกตัวอักษรที่ประกอบขึ้นเป็นตัวอักษรที่แยกออก

พารามิเตอร์

str: string

สตริงที่จะแปลง

ส่งค่ากลับ

คุณสมบัติ

charpattern

รูปแบบ "[%z\x01-\x7F\xC2-\xF4][\x80-\xBF]*" ซึ่งตรงกับเซลล์ข้อมูล UTF-8 ที่เป็นศูนย์หรือมากกว่านั้นโดยสมบูรณ์โดยสมมติว่าหัวข้อเป็นข้อความ UTF-8 ที่ถูกต้อง