numpy字节转普通字符串

39 投票
1 回答
46108 浏览
提问于 2025-04-18 06:20

我有一个名为 X 的 numpy 数组,它的类型是 dtype 'S' (numpy.bytes_)。比如,当我打印 print(X[0, 0]) 时,输出是 b'somestring'。同样地,使用 str(X[0, 0]) 也会得到字符串 "b'somestring'"

但是我想打印或者转换成字符串时,不想看到开头的 b' 和结尾的 '。我只想打印出 somestring,或者返回字符串 "somestring"。该怎么做呢?

注意:我不能改变数组的类型。

1 个回答

49

你只需要把这个字符串解码回ASCII格式,所以代码就简单了:

bytes_string.decode('UTF-8')

示例:

>>> b'somestring'.decode('UTF-8')
'somestring'

撰写回答