首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么base85与Dart之间存在不匹配?

为什么base85与Dart之间存在不匹配?
EN

Stack Overflow用户
提问于 2021-10-09 13:10:04
回答 1查看 120关注 0票数 3

Python代码

代码语言:javascript
复制
from base64 import b85decode
from base64 import b85encode
encoded=b85encode(b'Hello, world!!!!')
print(encoded.decode('utf-8'))

输出:

'NM&qnZ!92pZ*pv8At50l'

Dart代码

代码语言:javascript
复制
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

字母大小写在上下之间交换,非字母也有不同的映射。

我可能漏掉了什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-09 13:28:28

因为实际上在dart示例中根本没有使用ascii85。比较一下(需要pip install pyzmq*):

代码语言:javascript
复制
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://rfc.zeromq.org/spec/32/

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69507019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档