为什么Dart无法从Crystal解码base64?

时间:2020-08-26 05:20:28

标签: dart base64 crystal-lang

为什么Dart在Crystal Lang中使用base64会产生错误“ 61位无效字符”?

1 个答案:

答案 0 :(得分:5)

默认的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