Python代码
from base64 import b85decode
from base64 import b85encode
encoded=b85encode(b'Hello, world!!!!')
print(encoded.decode('utf-8'))
输出:
'NM&qnZ!92pZ*pv8At50l'
Dart 代码
import 'dart:io';
import 'dart:typed_data';
import 'package:base85/base85.dart';
void main() {
var codec = Base85Codec(Alphabets.z85);
var encode = codec.encode(Uint8List.fromList('Hello, world!!!!'.codeUnits));
print(encode);
}
输出:
nm=QNz.92Pz/PV8aT50L
字母大小写互换,非字母也有不同的映射。
我可能遗漏了一些东西。
最佳答案
因为您实际上根本没有在 dart 示例中使用 ascii85。比较这个(需要 pip install pyzmq
*):
from zmq.utils import z85
z85.encode(b"Hello, world!!!!")
# b'nm=QNz.92Pz/PV8aT50L'
z85 和 ascii85 略有不同。
*pip show zmq
显示:总结:您可能正在寻找 pyzmq...需要:pyzmq
。感谢@SumitKumar 的捕获。
引用资料:
关于python - 为什么 Dart 和 Python 之间的 base85 不匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69507019/