ถอดรหัสแต่ละสตริงใน "อินพุต" ให้เป็นลำดับของจุดโค้ด 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 ที่มีการแยกแถว |
วิธีการสืบทอด
วิธีการสาธารณะ
สร้าง 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) |
---|