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
廣告