نشكرك على متابعة Google I / O. عرض جميع الجلسات عند الطلب مشاهدة عند الطلب

تينسورفلو :: العمليات :: 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
)