为什么 Dart 不能从 Crystal 解码 base64?
Why can't Dart decode base64 from Crystal?
为什么 Dart 使用来自 Crystal Lang 的 base64 产生错误“位置 61 处的无效字符”?
默认的 Crystal lang Base64 编码在 Dart 或 Flutter 中不起作用。
这是因为它默认不使用严格编码,每 60 个字符插入换行符。
对于 Dart,这些换行符是未知字符。
所以,简而言之,你必须使用Crystal的Base64.strict_encode
方法。这将编码没有特殊字符。
Dart 没有忽略特殊字符的方法,所以这是 100% 必要的。
https://crystal-lang.org/api/0.35.1/Base64.html#strict_encode(data,io:IO)-instance-method
为什么 Dart 使用来自 Crystal Lang 的 base64 产生错误“位置 61 处的无效字符”?
默认的 Crystal lang Base64 编码在 Dart 或 Flutter 中不起作用。
这是因为它默认不使用严格编码,每 60 个字符插入换行符。
对于 Dart,这些换行符是未知字符。
所以,简而言之,你必须使用Crystal的Base64.strict_encode
方法。这将编码没有特殊字符。
Dart 没有忽略特殊字符的方法,所以这是 100% 必要的。
https://crystal-lang.org/api/0.35.1/Base64.html#strict_encode(data,io:IO)-instance-method