تينسورفلو :: العمليات :: UnicodeTranscode
#include <string_ops.h>
تحويل نص الإدخال من مصدر ترميز إلى ترميز الوجهة.
ملخص
الإدخال عبارة عن موتر سلسلة من أي شكل. الإخراج عبارة عن موتر سلسلة من نفس الشكل تحتوي على السلاسل المحولة. سلاسل الإخراج هي دائما صالحة يونيكود. إذا كان الإدخال يحتوي على مواضع تشفير غير صالحة ، فإن سمة errors
تحدد سياسة كيفية التعامل معها. إذا تم استخدام سياسة معالجة الأخطاء الافتراضية ، فسيتم استبدال التنسيق غير الصحيح في الإخراج بواسطة replacement_char
. في حالة ignore
سياسة الأخطاء ، يتم تخطي أي مواضع تشفير غير صالحة في الإدخال ولا يتم تضمينها في الإخراج. إذا تم تعيينه على strict
فإن أي تنسيق غير صالح سينتج عنه خطأ InvalidArgument.
يمكن استخدام هذه العملية مع output_encoding = input_encoding
لفرض التنسيق الصحيح للمدخلات حتى لو كانت بالفعل في الترميز المطلوب.
إذا كان الإدخال مسبوقًا بعلامة ترتيب البايت اللازمة لتحديد الترميز (على سبيل المثال ، إذا كان الترميز هو UTF-16 وكان BOM يشير إلى قيمة كبيرة) ، فسيتم استهلاك قائمة مكونات الصنف هذه ولن يتم إصدارها في الإخراج. إذا تم تمييز ترميز الإدخال بعلامة endianness صريحة (مثل UTF-16-BE) ، فسيتم تفسير قائمة مكونات الصنف على أنها مسافة غير فاصلة ويتم الاحتفاظ بها في الإخراج (بما في ذلك دائمًا لـ UTF-8).
والنتيجة النهائية هي أنه إذا تم وضع علامة على الإدخال باعتباره endianness صريحًا ، فإن تحويل الشفرة يكون وفياً لجميع نقاط التشفير في المصدر. إذا لم يتم تمييزها بعلامة endianness صريحة ، فإن BOM لا تعتبر جزءًا من السلسلة نفسها ولكن باعتبارها بيانات وصفية ، وبالتالي لا يتم الاحتفاظ بها في الإخراج.
الحجج:
- النطاق: كائن النطاق
- الإدخال: النص المراد معالجته. يمكن أن يكون لها أي شكل.
- input_encoding: ترميز النص لسلاسل الإدخال. هذا هو أي من الترميزات التي تدعمها المحولات الخوارزمية ICU ucnv. أمثلة:
"UTF-16", "US ASCII", "UTF-8"
. - output_encoding: ترميز يونيكود لاستخدامه في الإخراج. يجب أن يكون واحدًا من
"UTF-8", "UTF-16-BE", "UTF-32-BE"
. ستكون الترميزات متعددة البايت كبيرة الحجم.
السمات الاختيارية (انظر Attrs
):
- أخطاء: خطأ في معالجة السياسة عند وجود تنسيق غير صالح في الإدخال. ستؤدي قيمة "صارمة" إلى أن تنتج العملية خطأ InvalidArgument في أي تنسيق إدخال غير صالح. وهناك قيمة 'استبدال' (الافتراضي) يسبب العملية ليحل محل أي تنسيق غير صالح في الإدخال مع
replacement_char
التمثيل البرمجي. ستؤدي قيمة "التجاهل" إلى تخطي العملية لأي تنسيق غير صالح في الإدخال وعدم إنتاج حرف إخراج مطابق. - replace_char: نقطة رمز الاستبدال التي سيتم استخدامها بدلاً من أي تنسيق غير صالح في الإدخال عندما تكون
errors='replace'
. يمكن استخدام أي نقطة تشفير صالحة يونيكود. القيمة الافتراضية هي حرف استبدال يونيكود الافتراضي هو 0xFFFD أو U + 65533.)
لاحظ أنه بالنسبة إلى UTF-8 ، فإن تمرير حرف بديل يمكن التعبير عنه في 1 بايت ، مثل "" ، سيحافظ على محاذاة السلسلة مع المصدر حيث سيتم استبدال وحدات البايت غير الصالحة باستبدال 1 بايت. بالنسبة إلى UTF-16-BE و UTF-16-LE ، فإن أي حرف استبدال 1 أو 2 بايت سيحافظ على محاذاة البايت مع المصدر.
- replace_control_characters: سواء لاستبدال أحرف التحكم C0 (00-1F) مع
replacement_char
. الافتراضي هو خطأ.
عائدات:
-
Output
: موتر سلسلة يحتوي على نص يونيكود مشفر باستخدامoutput_encoding
.
البنائين والمدمرين | |
---|---|
UnicodeTranscode (const :: tensorflow::Scope & scope, :: tensorflow::Input input, StringPiece input_encoding, StringPiece output_encoding) | |
UnicodeTranscode (const :: tensorflow::Scope & scope, :: tensorflow::Input input, StringPiece input_encoding, StringPiece output_encoding, const UnicodeTranscode::Attrs & attrs) |
السمات العامة | |
---|---|
operation | |
output |
الوظائف العامة | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
وظائف ثابتة عامة | |
---|---|
Errors (StringPiece x) | |
ReplaceControlCharacters (bool x) | |
ReplacementChar (int64 x) |
الهياكل | |
---|---|
tensorflow :: ops :: UnicodeTranscode :: Attrs | محددات السمات الاختيارية لـ UnicodeTranscode . |
السمات العامة
عملية
Operation operation
انتاج
::tensorflow::Output output
الوظائف العامة
UnicodeTranscode
UnicodeTranscode( const ::tensorflow::Scope & scope, ::tensorflow::Input input, StringPiece input_encoding, StringPiece output_encoding )
UnicodeTranscode
UnicodeTranscode( const ::tensorflow::Scope & scope, ::tensorflow::Input input, StringPiece input_encoding, StringPiece output_encoding, const UnicodeTranscode::Attrs & attrs )
العقدة
::tensorflow::Node * node() const
المشغل :: tensorflow :: الإدخال
operator::tensorflow::Input() const
المشغل :: Tensorflow :: Output
operator::tensorflow::Output() const
وظائف ثابتة عامة
أخطاء
Attrs Errors( StringPiece x )
استبدال أحرف التحكم
Attrs ReplaceControlCharacters( bool x )
استبدال
Attrs ReplacementChar( int64 x )
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2020-04-20 (حسب التوقيت العالمي المتفَّق عليه)