百分比编码超出范围异常
percent encode out of range exception
package:convert/convert.dart
包中的 percent.encode() 有问题。
我有一个阿拉伯人使用的 API,可以包含阿拉伯字符。其中一个阿拉伯字符是 "خ"
,如果我想用这种方法转换它 percent.encode('خ'.codeUnits)
。代码单元号为 1582,十六进制表示 0x62e
。在这种情况下,我会得到一个异常,因为它超出了这个库可以转换的字节范围。我有这个例外 Unhandled Exception: FormatException: Invalid byte 0x62
。你能帮我解决我的问题吗?我可以使用其他替代品吗?
我找到了解决办法,我用过Uri.encodeQueryComponent(data)
。它成功了。
[更新 1]
还有另一种方法
percent.encode(utf8.encode('خ'))
package:convert/convert.dart
包中的 percent.encode() 有问题。
我有一个阿拉伯人使用的 API,可以包含阿拉伯字符。其中一个阿拉伯字符是 "خ"
,如果我想用这种方法转换它 percent.encode('خ'.codeUnits)
。代码单元号为 1582,十六进制表示 0x62e
。在这种情况下,我会得到一个异常,因为它超出了这个库可以转换的字节范围。我有这个例外 Unhandled Exception: FormatException: Invalid byte 0x62
。你能帮我解决我的问题吗?我可以使用其他替代品吗?
我找到了解决办法,我用过Uri.encodeQueryComponent(data)
。它成功了。
[更新 1]
还有另一种方法
percent.encode(utf8.encode('خ'))