แปลงรหัสข้อความอินพุตจากการเข้ารหัสต้นทางเป็นการเข้ารหัสปลายทาง
อินพุตเป็นสตริงเทนเซอร์ที่มีรูปร่างใดๆ เอาต์พุตเป็นสตริงเทนเซอร์ที่มีรูปร่างเดียวกันซึ่งมีสตริงที่แปลงรหัสแล้ว สตริงเอาต์พุตจะเป็นยูนิโค้ดที่ถูกต้องเสมอ หากอินพุตมีตำแหน่งการเข้ารหัสที่ไม่ถูกต้อง แอตทริบิวต์ "ข้อผิดพลาด" จะกำหนดนโยบายสำหรับวิธีจัดการกับสิ่งเหล่านี้ หากใช้นโยบายการจัดการข้อผิดพลาดเริ่มต้น การจัดรูปแบบที่ไม่ถูกต้องจะถูกแทนที่ด้วย `replacement_char` ในเอาต์พุต หากนโยบายข้อผิดพลาดคือ "ละเว้น" ตำแหน่งการเข้ารหัสที่ไม่ถูกต้องในอินพุตจะถูกข้ามไปและไม่รวมอยู่ในเอาต์พุต หากตั้งค่าเป็น "เข้มงวด" การจัดรูปแบบที่ไม่ถูกต้องจะส่งผลให้เกิดข้อผิดพลาด InvalidArgument
การดำเนินการนี้สามารถใช้กับ `output_encoding = input_encoding` เพื่อบังคับใช้การจัดรูปแบบที่ถูกต้องสำหรับอินพุต แม้ว่าจะอยู่ในการเข้ารหัสที่ต้องการแล้วก็ตาม
หากอินพุตนำหน้าด้วย Byte Order Mark ที่จำเป็นในการกำหนดการเข้ารหัส (เช่น หากการเข้ารหัสเป็น UTF-16 และ BOM ระบุว่าเป็น big-endian) BOM นั้นจะถูกใช้และไม่ปล่อยลงในเอาต์พุต หากการเข้ารหัสอินพุตถูกทำเครื่องหมายด้วย endianness ที่ชัดเจน (เช่น UTF-16-BE) BOM จะถูกตีความว่าเป็นช่องว่างที่ไม่แยกและจะถูกเก็บรักษาไว้ในเอาต์พุต (รวมถึง UTF-8 เสมอ)
ผลลัพธ์ที่ได้คือหากอินพุตถูกทำเครื่องหมายว่าเป็น endianness ที่ชัดเจน การแปลงรหัสจะตรงตามจุดรหัสทั้งหมดในแหล่งที่มา หากไม่ได้ทำเครื่องหมายด้วย endianness ที่ชัดเจน BOM จะไม่ถือว่าเป็นส่วนหนึ่งของสตริง แต่เป็นข้อมูลเมตา ดังนั้นจะไม่ถูกเก็บรักษาไว้ในเอาต์พุต
ตัวอย่าง:
>>> tf.strings.unicode_transcode(["สวัสดี", "TensorFlow", "2.x"], "UTF-8", "UTF-16-BE")
คลาสที่ซ้อนกัน
ระดับ | UnicodeTranscode ตัวเลือก | คุณลักษณะทางเลือกสำหรับ UnicodeTranscode |
ค่าคงที่
สตริง | OP_NAME | ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow |
วิธีการสาธารณะ
เอาท์พุต < TString > | เป็นเอาท์พุต () ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์ |
UnicodeTranscode แบบคงที่ | สร้าง (ขอบเขต ขอบเขต ตัวดำเนินการ < TString > อินพุต สตริง inputEncoding สตริงเอาต์พุตการเข้ารหัส ตัวเลือก... ตัวเลือก) วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ UnicodeTranscode ใหม่ |
UnicodeTranscode.Options แบบคงที่ | ข้อผิดพลาด (ข้อผิดพลาดสตริง) |
เอาท์พุต < TString > | เอาท์พุท () เทนเซอร์สตริงที่มีข้อความ Unicode ที่เข้ารหัสโดยใช้ `output_encoding` |
UnicodeTranscode.Options แบบคงที่ | แทนที่ControlCharacters (บูลีนแทนที่ControlCharacters) |
UnicodeTranscode.Options แบบคงที่ | replacementChar (ถ่านทดแทนแบบยาว) |
วิธีการสืบทอด
ค่าคงที่
สตริงสุดท้ายแบบคงที่สาธารณะ OP_NAME
ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow
วิธีการสาธารณะ
เอาท์ พุท สาธารณะ < TString > asOutput ()
ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์
อินพุตสำหรับการดำเนินการ TensorFlow คือเอาต์พุตของการดำเนินการ TensorFlow อื่น วิธีการนี้ใช้เพื่อรับหมายเลขอ้างอิงสัญลักษณ์ที่แสดงถึงการคำนวณอินพุต
การสร้าง UnicodeTranscode แบบคงที่สาธารณะ (ขอบเขต ขอบเขต ตัวดำเนินการ < TString > อินพุต สตริง inputEncoding สตริงเอาต์พุตการเข้ารหัส ตัวเลือก... ตัวเลือก)
วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ UnicodeTranscode ใหม่
พารามิเตอร์
ขอบเขต | ขอบเขตปัจจุบัน |
---|---|
ป้อนข้อมูล | ข้อความที่จะประมวลผล จะมีรูปร่างแบบไหนก็ได้ |
การเข้ารหัสอินพุต | การเข้ารหัสข้อความของสตริงอินพุต นี่คือการเข้ารหัสใดๆ ที่สนับสนุนโดยตัวแปลงอัลกอริทึม ucnv ของ ICU ตัวอย่าง: `"UTF-16", "US ASCII", "UTF-8"` |
การเข้ารหัสเอาท์พุท | การเข้ารหัส Unicode ที่จะใช้ในเอาต์พุต จะต้องเป็นหนึ่งใน `"UTF-8", "UTF-16-BE", "UTF-32-BE"` การเข้ารหัสแบบหลายไบต์จะเป็นแบบ big-endian |
ตัวเลือก | มีค่าแอตทริบิวต์ทางเลือก |
การส่งคืน
- อินสแตนซ์ใหม่ของ UnicodeTranscode
ข้อผิดพลาด UnicodeTranscode.Options แบบคงที่สาธารณะ (ข้อผิดพลาดสตริง)
พารามิเตอร์
ข้อผิดพลาด | นโยบายการจัดการข้อผิดพลาดเมื่อพบการจัดรูปแบบที่ไม่ถูกต้องในอินพุต ค่า 'เข้มงวด' จะทำให้การดำเนินการสร้างข้อผิดพลาด InvalidArgument ในการจัดรูปแบบอินพุตที่ไม่ถูกต้อง ค่า 'แทนที่' (ค่าเริ่มต้น) จะทำให้การดำเนินการแทนที่การจัดรูปแบบที่ไม่ถูกต้องในอินพุตด้วยจุดโค้ด `replacement_char` ค่า 'ละเว้น' จะทำให้การดำเนินการข้ามการจัดรูปแบบที่ไม่ถูกต้องในอินพุต และไม่มีอักขระเอาต์พุตที่สอดคล้องกัน |
---|
เอาท์ พุท สาธารณะ < TString > เอาท์พุท ()
เทนเซอร์สตริงที่มีข้อความ Unicode ที่เข้ารหัสโดยใช้ `output_encoding`
UnicodeTranscode.Options แบบคงที่สาธารณะ แทนที่ControlCharacters (บูลีนแทนที่ControlCharacters)
พารามิเตอร์
แทนที่ControlCharacters | ว่าจะแทนที่อักขระควบคุม C0 (00-1F) ด้วย `replacement_char` หรือไม่ ค่าเริ่มต้นเป็นเท็จ |
---|
สาธารณะ UnicodeTranscode.Options replacementChar แบบคงที่ (Long replacementChar)
พารามิเตอร์
ทดแทนChar | จุดโค้ดอักขระทดแทนที่จะใช้แทนการจัดรูปแบบที่ไม่ถูกต้องในอินพุตเมื่อ `errors='replace'' สามารถใช้จุดโค้ดยูนิโค้ดที่ถูกต้องได้ ค่าเริ่มต้นคืออักขระแทนที่ Unicode เริ่มต้นคือ 0xFFFD หรือ U+65533) โปรดทราบว่าสำหรับ UTF-8 การส่งอักขระแทนที่ที่แสดงเป็น 1 ไบต์ เช่น ' ' จะคงการจัดแนวสตริงไว้ที่ต้นทาง เนื่องจากไบต์ที่ไม่ถูกต้องจะถูกแทนที่ด้วยการแทนที่ 1 ไบต์ สำหรับ UTF-16-BE และ UTF-16-LE อักขระแทนที่ 1 หรือ 2 ไบต์ใดๆ จะรักษาการจัดตำแหน่งของไบต์กับแหล่งที่มา |
---|