美文网首页
2021-03-05 flutter 字符串

2021-03-05 flutter 字符串

作者: 我是小胡胡123 | 来源:发表于2021-03-05 20:04 被阅读0次

flutter字符串字面量

1,r'字符串'
在字符串 前加‘r’实现创建原始字符串,不会被转义,直接输出原始定义的字符串,个人理解就是\转义字符,不用作转义,即等价于\

2,'''字符串'''

3, encodeFull

不会被编码: !*'();:@&=+$,/? (和ios相同)
会编码:%[] (和ios相同)
不会被编码: # (这个#和ios不同: ios的urlencode方法#会被编码)

image.png

测试代码如下:


printstr(String string) {
  print(string);
}

void main() {
  //printstr('[\d\/\.,-\s]+""'');  //报错

  printstr('[\d\/\.,-\s]+""'); //   [d/.,-s]+""
  printstr(r'[\d\/\.,-\s]+""'); //  [\d\/\.,-\s]+""
  printstr('[\\d\\/\\.,-\\s]+""'); //[\d\/\.,-\s]+""
  //printstr('\'); //报错
  printstr(r'\'); //输出 \

  printstr("ab'''cndefg'''1" "231312");

  //报错
//   printstr(r'{
//   "a": {
//     "asd": "12"
//   },
//   "b": [
//     "12",
//     "23"
//   ],
//   "json": "123",
//   "url": "http://ssf.com?sdfp==12"
// }');

  //```定义字符串,里面的内容,不需要转json stringify转换```
  String c = '''{
    "a": {"asd": "12"},
    "b": ["12", "23"],
    "json": "123",
    "url": "http://ssf.com?sdfp==12"
  }''';
  printstr(c);

  //map字面量
  var mapObj = {
    "a": {"asd": "12"},
    "b": ["12", "23"],
    "json": "123",
    "url": "http://ssf.com?sdfp==12"
  };
  print(mapObj);

  printstr(Uri.encodeFull(c));
  printstr(Uri.encodeFull('!*\'\(\);:@&=+\$,/?')); //!*'();:@&=+$,/?
  printstr(Uri.encodeFull('%#[]')); //%25#%5B%5D
  printstr(Uri.encodeFull('/?')); ///?
}

相关文章

网友评论

      本文标题:2021-03-05 flutter 字符串

      本文链接:https://www.haomeiwen.com/subject/dfjdqltx.html