NumPy char.decode() 函数



NumPy 的 char.decode() 函数用于使用指定的编码将字节编码字符串(即通常为 bytes 类型)数组中的每个元素解码为标准字符串(即通常为 str 类型)。

当我们有一个编码数据数组(例如 UTF-8 编码的字节)并且需要将其转换为可读的字符串格式时,此函数很有用。

语法

以下是 NumPy char.decode() 函数的语法:

numpy.char.decode(a, encoding=None, errors=None)

参数

以下是 NumPy char.decode() 函数的参数:

  • a(array_like): 字节编码字符串的输入数组。

  • encoding(str, 可选): 用于解码字节字符串的编码。默认值为 'utf-8'。

  • errors(str, 可选): 此参数指定错误处理方案,其中 'strict' 抛出错误,'ignore' 跳过无效字符,'replace' 用占位符替换它们。

返回值

此函数返回一个解码字符串数组,其形状与输入数组相同。数组的每个元素都是从输入数组中相应的字节编码元素解码的字符串。

示例 1

以下是 NumPy char.decode() 函数的基本示例。在此示例中,我们有一个字节编码字符串数组,我们将它们解码为常规字符串:

import numpy as np

arr = np.array([b'hello', b'world', b'numPy'])
print("Original Array:",arr)
decoded_arr = np.char.decode(arr, encoding='utf-8')
print("Decoded array:",decoded_arr)

以下是 numpy.char.decode() 函数基本示例的输出:

Original Array: [b'hello' b'world' b'numPy']
Decoded array: ['hello' 'world' 'numPy']

示例 2

如果输入包含在指定编码中无效的字节,则可以使用传递给 char.decode() 的 errors 参数来处理错误。在此示例中,无效字节 \xff 将替换为 Unicode 替换字符

import numpy as np
arr = np.array([b'hello', b'world\xff', b'numPy'])
decoded_arr = np.char.decode(arr, encoding='utf-8', errors='replace')
print(decoded_arr)

以下是上述示例的输出:

['hello' 'world�' 'numPy']

示例 3

当我们希望在解码期间忽略无效字符时,可以在 char.decode() 函数中使用 errors='ignore' 参数。以下是如何使用它的示例:

import numpy as np
arr = np.array([b'hello', b'world\xff', b'numPy'])
decoded_arr = np.char.decode(arr, encoding='utf-8', errors='ignore')
print(decoded_arr)

以下是上述示例的输出:

['hello' 'world' 'numPy']
numpy_string_functions.htm
广告