经过处理,已经让 numpy 转换成了只包含 1 和 0 的一维数组
[1 1 0 0 0 0 1 0 0 1 1 0 0 0 1 1 0 1 1 0 0 1 1 0 0 1 1 0 ...]
有什么优雅的办法能直接把这个变成字符串的哈希值么?比如每 8 个数生成一个 ascii 字符。。。
考虑到有可能直接用这个哈希值作为文件名储存在 windows 系统中,似乎 ascii 全集并不被 win 所接受,还需要额外更改字符。目前想到的是映射到 base64 ,有什么更好的办法吗?
1
3dwelcome 2021-11-09 13:04:04 +08:00
这个简单,我以前写过。但不是用 base64 ,而是 36 ( http://en.wikipedia.org/wiki/Base_36 )
用来在 apk 文件里,存中文文件名的。(不知道为什么,官方 apk 打包工具不支持中文名,百思不得其解。) 因为是文件名,我只希望用 A-Z, 0-9 ,不希望有别的杂乱字符影响。 |
2
PlayByMyself 2021-11-09 17:49:36 +08:00
import numpy as np
np.packbits([1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0]).data.hex() |