Dart encodeFull 问题
Dart encodeFull issue
当我将 uri 从整数编码为字符串时。 Dart 将这个 %E2%80%8B 值放在数字之前。是什么原因?为什么飞镖把这个值放在数字之前?我不能像那样从 url 发送参数。
const number = 15;
String uri = Uri.encodeFull("https://google.com/${number}");
print(uri);
我得到了这个输出https://google.com/15%E2%80%8B为什么??检查 link uri 有一个 space 结尾。当它像这样工作时,我不能调用 api 因为它不是整数值。
是 bug 还是什么?
请添加更多信息,我已经测试了您的代码,它运行正常。
var number=1234;
var k=Uri.encodeFull("https://google.com/${number}");
%E2%80%8B
表示一个十六进制字节序列E2
、80
、8B
。该序列对应于 Unicode "zero width space" character (U+200B).
的 UTF-8 表示
我怀疑您从某处复制并粘贴了您的字符串,无意中包含了一个不可见的 Unicode 字符。删除并重新输入 "https://google.com/${number}"
字符串文字的最后部分应该可以解决问题。
当我将 uri 从整数编码为字符串时。 Dart 将这个 %E2%80%8B 值放在数字之前。是什么原因?为什么飞镖把这个值放在数字之前?我不能像那样从 url 发送参数。
const number = 15;
String uri = Uri.encodeFull("https://google.com/${number}");
print(uri);
我得到了这个输出https://google.com/15%E2%80%8B为什么??检查 link uri 有一个 space 结尾。当它像这样工作时,我不能调用 api 因为它不是整数值。
是 bug 还是什么?
请添加更多信息,我已经测试了您的代码,它运行正常。
var number=1234;
var k=Uri.encodeFull("https://google.com/${number}");
%E2%80%8B
表示一个十六进制字节序列E2
、80
、8B
。该序列对应于 Unicode "zero width space" character (U+200B).
我怀疑您从某处复制并粘贴了您的字符串,无意中包含了一个不可见的 Unicode 字符。删除并重新输入 "https://google.com/${number}"
字符串文字的最后部分应该可以解决问题。