Функция strings.unicode_encode
Функция strings.unicode_encode принимает тензор строк
Unicode и преобразует каждую строку в байтовую строку
с заданной кодировкой. Первым параметром передаётся
тензор строк, вторым - имя кодировки, например
'UTF-8'. Третьим необязательным параметром
можно указать политику обработки ошибок errors,
например 'strict', 'ignore' или
'replace'. На выходе получается тензор того же
ранга, что и входной, но с байтовыми строками.
Синтаксис
tf.strings.unicode_encode(input, output_encoding, [errors], [replacement_char], [name])
Пример
Давайте закодируем тензор строк в кодировку
'UTF-8':
import tensorflow as tf
t = tf.constant(['abcde', 'model.keras'])
res = tf.strings.unicode_encode(t, 'UTF-8')
print(res)
Результат выполнения кода:
tf.Tensor([b'abcde' b'model.keras'], shape=(2,), dtype=string)
Пример
Давайте закодируем тензор строк в кодировку
'UTF-16-BE' и посмотрим на байтовое
представление результата:
import tensorflow as tf
t = tf.constant(['abcde'])
res = tf.strings.unicode_encode(t, 'UTF-16-BE')
print(res)
print(res.numpy()[0])
Результат выполнения кода:
tf.Tensor([b'\x00a\x00b\x00c\x00d\x00e'], shape=(1,), dtype=string)
b'\x00a\x00b\x00c\x00d\x00e'
Пример
Давайте закодируем двумерный тензор строк и посмотрим на форму результата:
import tensorflow as tf
t = tf.constant([['abcde', 'model.keras'], ['abcde', 'model.keras']])
res = tf.strings.unicode_encode(t, 'UTF-8')
print(res)
Результат выполнения кода:
tf.Tensor(
[[b'abcde' b'model.keras']
[b'abcde' b'model.keras']], shape=(2, 2), dtype=string)
Смотрите также
-
функцию
unicode_decode,
которая декодирует байтовые строки в строки Unicode -
функцию
unicode_split,
которая разбивает строку Unicode на символы -
функцию
as_string,
которая преобразует тензор в строковый тензор -
функцию
bytes_split,
которая разбивает байтовые строки на элементы