这是我的简单测试代码:
data = np.arange(12, dtype='int32').reshape(2,2,3);
所以数据是:
array([[[ 0, 1, 2],
[ 3, 4, 5]],
[[ 6, 7, 8],
[ 9, 10, 11]]], dtype=int32)
但是data.data[:48]
为什么看起来像这样:
'\ x00 \ x00 \ x00 \ x00 \ x01 \ x00 \ x00 \ x00 \ x02 \ x00 \ x00 \ x00 \ x03 \ x00 \ x00 \ x00 \ x04 \ x00 \ x00 \ x00 \ x00 \ x05 \ x00 \ x00 \ x00 \ x06 \ x00 \ x00 \ x00 \ x07 \ x00 \ x00 \ x00 \ x08 \ x00 \ x00 \ x00 \ t \ x00 \ x00 \ x00 \ n \ x00 \ x00 \ x00 \ x0b \ x00 \ x00 \ x00 '
我的意思是为什么将'9','10'存储为'\ t \ x00 \ x00 \ x00'和'\ n \ x00 \ x00 \ x00'?
答案 0 :(得分:3)
\t
是ASCII值9的制表符。\n
是ASCII值10的LF字符。\x00
是ascii值的NUL字符0。
'\ t \ x00 \ x00 \ x00'表示字节序列[9,0,0,0],它是长整数9的小尾数表示。
'\ n \ x00 \ x00 \ x00'表示字节序列[10,0,0,0],它是长整数10的小尾数表示。