tensorflow:: אופס:: UnicodeTranscode
#include <string_ops.h>
המרת טקסט הקלט מקידוד מקור לקידוד יעד.
תַקצִיר
הקלט הוא טנזור מיתר מכל צורה. הפלט הוא טנסור מחרוזת מאותה צורה המכילה את המחרוזות שעברו טרנסקוד. מחרוזות פלט הן תמיד unicode חוקיות. אם הקלט מכיל עמדות קידוד לא חוקיות, תכונת errors
מגדירה את המדיניות כיצד לטפל בהן. אם נעשה שימוש במדיניות ברירת המחדל לטיפול בשגיאות, עיצוב לא חוקי יוחלף בפלט על ידי ה- replacement_char
. אם יש ignore
ממדיניות השגיאות, כל מיקומי קידוד לא חוקיים בקלט ידלג ולא נכלל בפלט. אם הוא מוגדר strict
, כל עיצוב לא חוקי יגרום לשגיאת InvalidArgument.
ניתן להשתמש בפעולה זו עם output_encoding = input_encoding
כדי לאכוף עיצוב נכון עבור קלט גם אם הם כבר בקידוד הרצוי.
אם לקלט יש קידומת סימן סדר בתים הדרוש לקביעת הקידוד (למשל אם הקידוד הוא UTF-16 וה-BOM מציין big-endian), אז ה-BOM הזה נצרך ולא ייפלט לתוך הפלט. אם קידוד הקלט מסומן ב-endianness מפורשת (למשל UTF-16-BE), אזי ה-BOM מתפרש כמרחב שאינו שביר ונשמר בפלט (כולל תמיד עבור UTF-8).
התוצאה הסופית היא שאם הקלט מסומן כ- endianness מפורש, ההמרה נאמן לכל נקודות הקוד במקור. אם הוא לא מסומן ב-endianness מפורש, ה-BOM אינו נחשב לחלק מהמחרוזת עצמה אלא כמטא נתונים, ולכן אינו נשמר בפלט.
טיעונים:
- scope: אובייקט Scope
- קלט: הטקסט שיש לעבד. יכול לקבל כל צורה.
- input_encoding: קידוד טקסט של מחרוזות הקלט. זהו כל אחד מהקידודים הנתמכים על ידי ממירים אלגוריתמיים של ICU ucnv. דוגמאות:
"UTF-16", "US ASCII", "UTF-8"
. - output_encoding: קידוד ה-unicode לשימוש בפלט. חייב להיות אחד מ-
"UTF-8", "UTF-16-BE", "UTF-32-BE"
. קידודים מרובי-בתים יהיו גדולים.
מאפיינים אופציונליים (ראה Attrs
):
- שגיאות: מדיניות טיפול בשגיאות כאשר נמצא עיצוב לא חוקי בקלט. הערך של 'strict' יגרום לפעולה לייצר שגיאת InvalidArgument בכל עיצוב קלט לא חוקי. ערך 'replace' (ברירת המחדל) יגרום לפעולה להחליף כל עיצוב לא חוקי בקלט בנקודת הקוד
replacement_char
. ערך של 'התעלם' יגרום לפעולה לדלג על כל עיצוב לא חוקי בקלט ולא לייצר תו פלט מתאים. - replacement_char: נקודת הקוד של התווים החלופיים לשימוש במקום כל עיצוב לא חוקי בקלט כאשר
errors='replace'
. ניתן להשתמש בכל נקודת קוד חוקית של Unicode. ערך ברירת המחדל הוא תו החלפת ה-unicode המוגדר כברירת מחדל הוא 0xFFFD או U+65533.)
שים לב שעבור UTF-8, העברת תו חלופי שניתן לביטוי בבתים 1, כגון ' ', ישמר את יישור המחרוזת למקור שכן בתים לא חוקיים יוחלפו בתחליף של בתים אחד. עבור UTF-16-BE ו-UTF-16-LE, כל תו החלפת בתים של 1 או 2 ישמור את יישור בתים למקור.
- replace_control_characters: האם להחליף את תווי הבקרה C0 (00-1F) ב-
replacement_char
. ברירת המחדל היא שקר.
החזרות:
-
Output
: טנזור מחרוזת המכיל טקסט Unicode מקודד באמצעות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::פלט
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 ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2024-11-12 (שעון UTC).