تدفق التوتر:: العمليات:: UnicodeTranscode
#include <string_ops.h>
تحويل نص الإدخال من ترميز المصدر إلى ترميز الوجهة.
ملخص
الإدخال عبارة عن موتر سلسلة من أي شكل. الإخراج عبارة عن موتر سلسلة من نفس الشكل يحتوي على السلاسل المحولة. سلاسل الإخراج صالحة دائمًا لرمز Unicode. إذا كان الإدخال يحتوي على مواضع ترميز غير صالحة، فإن سمة errors
تحدد سياسة كيفية التعامل معها. إذا تم استخدام سياسة معالجة الأخطاء الافتراضية، فسيتم استبدال التنسيق غير الصالح في الإخراج بواسطة replacement_char
. إذا كانت سياسة الأخطاء هي ignore
، فسيتم تخطي أي مواضع ترميز غير صالحة في الإدخال ولا يتم تضمينها في الإخراج. إذا تم ضبطه على strict
، فإن أي تنسيق غير صالح سيؤدي إلى خطأ InvalidArgument.
يمكن استخدام هذه العملية مع output_encoding = input_encoding
لفرض التنسيق الصحيح للمدخلات حتى لو كانت موجودة بالفعل بالتشفير المطلوب.
إذا كان الإدخال مسبوقًا بعلامة ترتيب البايت اللازمة لتحديد التشفير (على سبيل المثال، إذا كان التشفير هو UTF-16 وتشير قائمة مكونات الصنف إلى نهاية كبيرة)، فسيتم استهلاك قائمة مكونات الصنف هذه ولن يتم إرسالها إلى المخرجات. إذا تم تمييز تشفير الإدخال بعلامة endianness صريحة (على سبيل المثال UTF-16-BE)، فسيتم تفسير قائمة مكونات الصنف على أنها مسافة غير منقسمة ويتم الاحتفاظ بها في الإخراج (بما في ذلك UTF-8 دائمًا).
والنتيجة النهائية هي أنه إذا تم وضع علامة على الإدخال على أنه نهاية صريحة، فإن تحويل الشفرة يكون مطابقًا لجميع نقاط التشفير في المصدر. إذا لم يتم وضع علامة endianness صريحة عليه، فإن BOM لا يعتبر جزءًا من السلسلة نفسها ولكن كبيانات وصفية، وبالتالي لا يتم الاحتفاظ به في الإخراج.
الحجج:
- النطاق: كائن النطاق
- الإدخال: النص المراد معالجته. يمكن أن يكون لها أي شكل.
- input_encoding: ترميز النص لسلاسل الإدخال. هذا هو أي من الترميزات التي تدعمها محولات خوارزمية ICU ucnv. أمثلة:
"UTF-16", "US ASCII", "UTF-8"
. - output_encoding: ترميز Unicode الذي سيتم استخدامه في الإخراج. يجب أن يكون واحدًا من
"UTF-8", "UTF-16-BE", "UTF-32-BE"
. ستكون الترميزات متعددة البايت ذات نهاية كبيرة.
السمات الاختيارية (انظر Attrs
):
- الأخطاء: خطأ في التعامل مع السياسة عند العثور على تنسيق غير صالح في الإدخال. ستتسبب قيمة "صارم" في ظهور خطأ InvalidArgument في أي تنسيق إدخال غير صالح. ستؤدي قيمة 'replace' (القيمة الافتراضية) إلى استبدال العملية لأي تنسيق غير صالح في الإدخال بنقطة
replacement_char
. ستتسبب قيمة "تجاهل" في تخطي العملية لأي تنسيق غير صالح في الإدخال وعدم إنتاج أي حرف إخراج مطابق. - استبدال_شار: نقطة رمز الحرف البديلة التي سيتم استخدامها بدلاً من أي تنسيق غير صالح في الإدخال عندما
errors='replace'
. يمكن استخدام أي نقطة ترميز Unicode صالحة. القيمة الافتراضية هي أن حرف استبدال Unicode الافتراضي هو 0xFFFD أو U+65533.)
لاحظ أنه بالنسبة إلى UTF-8، فإن تمرير حرف بديل يمكن التعبير عنه ببايت واحد، مثل ' '، سيحافظ على محاذاة السلسلة إلى المصدر حيث سيتم استبدال البايتات غير الصالحة باستبدال بايت واحد. بالنسبة إلى UTF-16-BE وUTF-16-LE، فإن أي حرف بديل مكون من 1 أو 2 بايت سيحافظ على محاذاة البايت مع المصدر.
- replace_control_characters: ما إذا كان سيتم استبدال أحرف التحكم C0 (00-1F)
replacement_char
. الافتراضي خطأ.
العوائد:
-
Output
: موتر سلسلة يحتوي على نص Unicode مشفر باستخدام output_encoding
.
الصفات العامة
عملية
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
operator::tensorflow::Input() const
المشغل::tensorflow::الإخراج
operator::tensorflow::Output() const
وظائف ثابتة العامة
أخطاء
Attrs Errors(
StringPiece x
)
استبدال أحرف التحكم
Attrs ReplaceControlCharacters(
bool x
)
استبدالChar
Attrs ReplacementChar(
int64 x
)
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# tensorflow::ops::UnicodeTranscode Class Reference\n\ntensorflow::ops::UnicodeTranscode\n=================================\n\n`#include \u003cstring_ops.h\u003e`\n\nTranscode the input text from a source encoding to a destination encoding.\n\nSummary\n-------\n\nThe input is a string tensor of any shape. The output is a string tensor of the same shape containing the transcoded strings. [Output](/versions/r2.1/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) strings are always valid unicode. If the input contains invalid encoding positions, the `errors` attribute sets the policy for how to deal with them. If the default error-handling policy is used, invalid formatting will be substituted in the output by the `replacement_char`. If the errors policy is to `ignore`, any invalid encoding positions in the input are skipped and not included in the output. If it set to `strict` then any invalid formatting will result in an InvalidArgument error.\n\nThis operation can be used with `output_encoding = input_encoding` to enforce correct formatting for inputs even if they are already in the desired encoding.\n\nIf the input is prefixed by a Byte Order Mark needed to determine encoding (e.g. if the encoding is UTF-16 and the BOM indicates big-endian), then that BOM will be consumed and not emitted into the output. If the input encoding is marked with an explicit endianness (e.g. UTF-16-BE), then the BOM is interpreted as a non-breaking-space and is preserved in the output (including always for UTF-8).\n\nThe end result is that if the input is marked as an explicit endianness the transcoding is faithful to all codepoints in the source. If it is not marked with an explicit endianness, the BOM is not considered part of the string itself but as metadata, and so is not preserved in the output.\n\nArguments:\n\n- scope: A [Scope](/versions/r2.1/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object\n- input: The text to be processed. Can have any shape.\n- input_encoding: Text encoding of the input strings. This is any of the encodings supported by ICU ucnv algorithmic converters. Examples: `\"UTF-16\", \"US ASCII\", \"UTF-8\"`.\n- output_encoding: The unicode encoding to use in the output. Must be one of `\"UTF-8\", \"UTF-16-BE\", \"UTF-32-BE\"`. Multi-byte encodings will be big-endian.\n\n\u003cbr /\u003e\n\nOptional attributes (see [Attrs](/versions/r2.1/api_docs/cc/struct/tensorflow/ops/unicode-transcode/attrs#structtensorflow_1_1ops_1_1_unicode_transcode_1_1_attrs)):\n\n- errors: Error handling policy when there is invalid formatting found in the input. The value of 'strict' will cause the operation to produce a InvalidArgument error on any invalid input formatting. A value of 'replace' (the default) will cause the operation to replace any invalid formatting in the input with the `replacement_char` codepoint. A value of 'ignore' will cause the operation to skip any invalid formatting in the input and produce no corresponding output character.\n- replacement_char: The replacement character codepoint to be used in place of any invalid formatting in the input when `errors='replace'`. [Any](/versions/r2.1/api_docs/cc/class/tensorflow/ops/any#classtensorflow_1_1ops_1_1_any) valid unicode codepoint may be used. The default value is the default unicode replacement character is 0xFFFD or U+65533.)\n\n\u003cbr /\u003e\n\nNote that for UTF-8, passing a replacement character expressible in 1 byte, such as ' ', will preserve string alignment to the source since invalid bytes will be replaced with a 1-byte replacement. For UTF-16-BE and UTF-16-LE, any 1 or 2 byte replacement character will preserve byte alignment to the source.\n\n- replace_control_characters: Whether to replace the C0 control characters (00-1F) with the `replacement_char`. Default is false.\n\n\u003cbr /\u003e\n\nReturns:\n\n- [Output](/versions/r2.1/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output): A string tensor containing unicode text encoded using `output_encoding`.\n\n\u003cbr /\u003e\n\n| ### Constructors and Destructors ||\n|---|---|\n| [UnicodeTranscode](#classtensorflow_1_1ops_1_1_unicode_transcode_1a7f5400ef43a30cade48ec26babb8d8ac)`(const ::`[tensorflow::Scope](/versions/r2.1/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, ::`[tensorflow::Input](/versions/r2.1/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` input, StringPiece input_encoding, StringPiece output_encoding)` ||\n| [UnicodeTranscode](#classtensorflow_1_1ops_1_1_unicode_transcode_1a40d3c0e8ec4a39090a41db687a75e81e)`(const ::`[tensorflow::Scope](/versions/r2.1/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, ::`[tensorflow::Input](/versions/r2.1/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` input, StringPiece input_encoding, StringPiece output_encoding, const `[UnicodeTranscode::Attrs](/versions/r2.1/api_docs/cc/struct/tensorflow/ops/unicode-transcode/attrs#structtensorflow_1_1ops_1_1_unicode_transcode_1_1_attrs)` & attrs)` ||\n\n| ### Public attributes ||\n|-----------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------|\n| [operation](#classtensorflow_1_1ops_1_1_unicode_transcode_1a9121969d40f22188b5468ef3a88c7e85) | [Operation](/versions/r2.1/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation) |\n| [output](#classtensorflow_1_1ops_1_1_unicode_transcode_1a72ea1928a722003c6a454fb3e4d99cf8) | `::`[tensorflow::Output](/versions/r2.1/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) |\n\n| ### Public functions ||\n|-----------------------------------------------------------------------------------------------------------------------------|------------------------|\n| [node](#classtensorflow_1_1ops_1_1_unicode_transcode_1a5bd626fd8293b9ba38989e199cb56039)`() const ` | `::tensorflow::Node *` |\n| [operator::tensorflow::Input](#classtensorflow_1_1ops_1_1_unicode_transcode_1aa3ed5d86e608fef6fe501acc1886adc4)`() const ` | ` ` ` ` |\n| [operator::tensorflow::Output](#classtensorflow_1_1ops_1_1_unicode_transcode_1a228a8c3c53116beb44e18691ba954e40)`() const ` | ` ` ` ` |\n\n| ### Public static functions ||\n|------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------|\n| [Errors](#classtensorflow_1_1ops_1_1_unicode_transcode_1a4ec0643c5c92c98679d67690e8d6826c)`(StringPiece x)` | [Attrs](/versions/r2.1/api_docs/cc/struct/tensorflow/ops/unicode-transcode/attrs#structtensorflow_1_1ops_1_1_unicode_transcode_1_1_attrs) |\n| [ReplaceControlCharacters](#classtensorflow_1_1ops_1_1_unicode_transcode_1ac2031f1a1d602c2981d079a72e41ad8b)`(bool x)` | [Attrs](/versions/r2.1/api_docs/cc/struct/tensorflow/ops/unicode-transcode/attrs#structtensorflow_1_1ops_1_1_unicode_transcode_1_1_attrs) |\n| [ReplacementChar](#classtensorflow_1_1ops_1_1_unicode_transcode_1a006b666456f90b0903bcaea23ee678cd)`(int64 x)` | [Attrs](/versions/r2.1/api_docs/cc/struct/tensorflow/ops/unicode-transcode/attrs#structtensorflow_1_1ops_1_1_unicode_transcode_1_1_attrs) |\n\n| ### Structs ||\n|----------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [tensorflow::ops::UnicodeTranscode::Attrs](/versions/r2.1/api_docs/cc/struct/tensorflow/ops/unicode-transcode/attrs) | Optional attribute setters for [UnicodeTranscode](/versions/r2.1/api_docs/cc/class/tensorflow/ops/unicode-transcode#classtensorflow_1_1ops_1_1_unicode_transcode). |\n\nPublic attributes\n-----------------\n\n### operation\n\n```text\nOperation operation\n``` \n\n### output\n\n```text\n::tensorflow::Output output\n``` \n\nPublic functions\n----------------\n\n### UnicodeTranscode\n\n```gdscript\n UnicodeTranscode(\n const ::tensorflow::Scope & scope,\n ::tensorflow::Input input,\n StringPiece input_encoding,\n StringPiece output_encoding\n)\n``` \n\n### UnicodeTranscode\n\n```gdscript\n UnicodeTranscode(\n const ::tensorflow::Scope & scope,\n ::tensorflow::Input input,\n StringPiece input_encoding,\n StringPiece output_encoding,\n const UnicodeTranscode::Attrs & attrs\n)\n``` \n\n### node\n\n```gdscript\n::tensorflow::Node * node() const \n``` \n\n### operator::tensorflow::Input\n\n```gdscript\n operator::tensorflow::Input() const \n``` \n\n### operator::tensorflow::Output\n\n```gdscript\n operator::tensorflow::Output() const \n``` \n\nPublic static functions\n-----------------------\n\n### Errors\n\n```text\nAttrs Errors(\n StringPiece x\n)\n``` \n\n### ReplaceControlCharacters\n\n```text\nAttrs ReplaceControlCharacters(\n bool x\n)\n``` \n\n### ReplacementChar\n\n```text\nAttrs ReplacementChar(\n int64 x\n)\n```"]]