问题描述
为什么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