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
字母大小写在上下之间交换,非字母也有不同的映射。
我可能漏掉了什么。
发布于 2021-10-09 13:28:28
因为实际上在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揭示:Summary: You are probably looking for pyzmq... Requires: pyzmq。感谢@SumitKumar的捕捉。
参考文献:
https://stackoverflow.com/questions/69507019
复制相似问题