UnicodeDecode

UnicodeDecode คลาสสุดท้ายสาธารณะ

ถอดรหัสแต่ละสตริงใน "อินพุต" ให้เป็นลำดับของจุดโค้ด Unicode

จุดรหัสอักขระสำหรับสตริงทั้งหมดจะถูกส่งกลับโดยใช้เวกเตอร์เดี่ยว `char_values` โดยขยายสตริงเป็นอักขระในลำดับหลักแถว

เทนเซอร์ `row_splits` ระบุตำแหน่งที่จุดรหัสสำหรับสตริงอินพุตแต่ละรายการเริ่มต้นและสิ้นสุดภายในเทนเซอร์ `char_values` โดยเฉพาะอย่างยิ่ง ค่าสำหรับ `สตริงที่ i` (ตามลำดับแถวหลัก) จะถูกจัดเก็บไว้ในสไลซ์ `[row_splits[i]:row_splits[i+1]]` ดังนั้น:

  • `char_values[row_splits[i]+j]` คือจุดโค้ด Unicode สำหรับอักขระตัวที่ 'j` ในสตริง `i` (ตามลำดับแถวหลัก)
  • `row_splits[i+1] - row_splits[i]` คือจำนวนอักขระในสตริงที่ 'i` (เรียงลำดับตามแถวหลัก)

คลาสที่ซ้อนกัน

ระดับ UnicodeDecode.ตัวเลือก คุณลักษณะทางเลือกสำหรับ UnicodeDecode

วิธีการสาธารณะ

เอาต์พุต <จำนวนเต็ม>
ค่าถ่าน ()
เทนเซอร์ 1D int32 ที่มีจุดรหัสที่ถอดรหัส
คงที่ <T ขยายจำนวน> UnicodeDecode <T>
สร้าง (ขอบเขต ขอบเขต อินพุต ตัวดำเนินการ <String> สตริง inputEncoding คลาส<T> Tsplits ตัวเลือก... ตัวเลือก)
วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ UnicodeDecode ใหม่
UnicodeDecode แบบคงที่ <ยาว>
สร้าง ( ขอบเขต ขอบเขต อินพุต ตัวดำเนินการ <String> สตริง inputEncoding ตัวเลือก... ตัวเลือก)
วิธีการจากโรงงานเพื่อสร้างคลาสที่ห่อการดำเนินการ UnicodeDecode ใหม่โดยใช้ประเภทเอาต์พุตเริ่มต้น
UnicodeDecode.Options แบบคงที่
ข้อผิดพลาด (ข้อผิดพลาดสตริง)
UnicodeDecode.Options แบบคงที่
แทนที่ControlCharacters (บูลีนแทนที่ControlCharacters)
UnicodeDecode.Options แบบคงที่
replacementChar (ถ่านทดแทนแบบยาว)
เอาท์พุต <T>
แถวแยก ()
เทนเซอร์ 1D int32 ที่มีการแยกแถว

วิธีการสืบทอด

วิธีการสาธารณะ

สาธารณะ เอาท์พุท <จำนวนเต็ม> charValues ​​()

เทนเซอร์ 1D int32 ที่มีจุดรหัสที่ถอดรหัส

สร้าง UnicodeDecode <T> แบบคงที่สาธารณะ (ขอบเขต ขอบเขต , อินพุต <String> ตัวดำเนินการ , การเข้ารหัสอินพุตสตริง, คลาส <T> Tsplits, ตัวเลือก... ตัวเลือก)

วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ UnicodeDecode ใหม่

พารามิเตอร์
ขอบเขต ขอบเขตปัจจุบัน
ป้อนข้อมูล ข้อความที่จะถอดรหัส จะมีรูปร่างแบบไหนก็ได้ โปรดทราบว่าเอาต์พุตจะแบนเป็นเวกเตอร์ที่มีค่าถ่าน
การเข้ารหัสอินพุต การเข้ารหัสข้อความของสตริงอินพุต นี่คือการเข้ารหัสใดๆ ที่สนับสนุนโดยตัวแปลงอัลกอริทึม ucnv ของ ICU ตัวอย่าง: `"UTF-16", "US ASCII", "UTF-8"`
ตัวเลือก มีค่าแอตทริบิวต์ทางเลือก
การส่งคืน
  • อินสแตนซ์ใหม่ของ UnicodeDecode

สร้าง UnicodeDecode <Long> แบบคงที่สาธารณะ ( ขอบเขตขอบเขต อินพุต <String> ตัวดำเนิน การ การเข้ารหัสอินพุตสตริง ตัวเลือก... ตัวเลือก)

วิธีการจากโรงงานเพื่อสร้างคลาสที่ห่อการดำเนินการ UnicodeDecode ใหม่โดยใช้ประเภทเอาต์พุตเริ่มต้น

พารามิเตอร์
ขอบเขต ขอบเขตปัจจุบัน
ป้อนข้อมูล ข้อความที่จะถอดรหัส จะมีรูปร่างแบบไหนก็ได้ โปรดทราบว่าเอาต์พุตจะแบนเป็นเวกเตอร์ที่มีค่าถ่าน
การเข้ารหัสอินพุต การเข้ารหัสข้อความของสตริงอินพุต นี่คือการเข้ารหัสใดๆ ที่สนับสนุนโดยตัวแปลงอัลกอริทึม ucnv ของ ICU ตัวอย่าง: `"UTF-16", "US ASCII", "UTF-8"`
ตัวเลือก มีค่าแอตทริบิวต์ทางเลือก
การส่งคืน
  • อินสแตนซ์ใหม่ของ UnicodeDecode

ข้อผิดพลาด UnicodeDecode.Options แบบคงที่สาธารณะ (ข้อผิดพลาดสตริง)

พารามิเตอร์
ข้อผิดพลาด นโยบายการจัดการข้อผิดพลาดเมื่อพบการจัดรูปแบบที่ไม่ถูกต้องในอินพุต ค่า 'เข้มงวด' จะทำให้การดำเนินการสร้างข้อผิดพลาด InvalidArgument ในการจัดรูปแบบอินพุตที่ไม่ถูกต้อง ค่า 'แทนที่' (ค่าเริ่มต้น) จะทำให้การดำเนินการแทนที่การจัดรูปแบบที่ไม่ถูกต้องในอินพุตด้วยจุดโค้ด `replacement_char` ค่า 'ละเว้น' จะทำให้การดำเนินการข้ามการจัดรูปแบบที่ไม่ถูกต้องในอินพุต และไม่มีอักขระเอาต์พุตที่สอดคล้องกัน

UnicodeDecode.Options แบบคงที่สาธารณะ แทนที่ControlCharacters (บูลีนแทนที่ControlCharacters)

พารามิเตอร์
แทนที่ControlCharacters ว่าจะแทนที่อักขระควบคุม C0 (00-1F) ด้วย `replacement_char` หรือไม่ ค่าเริ่มต้นเป็นเท็จ

สาธารณะ UnicodeDecode.Options replacementChar แบบคงที่ (Long replacementChar)

พารามิเตอร์
ทดแทนChar จุดโค้ดอักขระทดแทนที่จะใช้แทนการจัดรูปแบบที่ไม่ถูกต้องในอินพุตเมื่อ `errors='replace'' สามารถใช้จุดโค้ดยูนิโค้ดที่ถูกต้องได้ ค่าเริ่มต้นคืออักขระแทนที่ Unicode เริ่มต้นคือ 0xFFFD หรือ U+65533)

เอาท์พุท สาธารณะ <T> rowSplits ()

เทนเซอร์ 1D int32 ที่มีการแยกแถว