flutter - 如何替换国家代码以在颤动中标记表情符号
问题描述
我有一个国家列表,其排序名称/国家代码为 json 格式,将在颤振中调用。有没有办法可以用他们的标志表情符号转换所有这些代码?
例如:“sortname”:“PL”将给出(idk,如果你们能看到标志)
{
"sortname": "PL",
"name": "Poland",
}, {
"sortname": "PT",
"name": "Portugal",
}, {
"sortname": "PR",
"name": "Puerto Rico",
}, {
"sortname": "QA",
"name": "Qatar",
}, {
"sortname": "RE",
"name": "Reunion",
}, {
"sortname": "RO",
"name": "Romania",
}, {
"sortname": "RU",
"name": "Russia",
},
解决方案
我是这样做的:
String countryCode = 'us';
String flag = countryCode.toUpperCase().replaceAllMapped(RegExp(r'[A-Z]'),
(match) => String.fromCharCode(match.group(0).codeUnitAt(0) + 127397));
print(flag);
.toUpperCase()
使所有字符大写- 我们 → 美国
RegExp(r'[A-Z]')
使用正则表达式选择每个字符.replaceAllMapped()
获取每个匹配的字符- ü
- 小号
.codeUnitAt(0)
将每个字符转换为符文- 85
- 83
+ 127397
将每个符文转换为区域指示符号
127397 = 127462(的 HTML 代码)- 65(A 的符文值)。
- 85 + 127397 = 127482
- 83 + 127397 = 127480
.fromCharCode()
将区域指标符号的值转换为字符串(标志表情符号)- →
推荐阅读
- algorithm - 证明加油站的贪心算法是有效的
- c++ - Gradle 包含目录下的所有文件(“递归”)
- sharepoint-online - 在 Power Automate 中加入 2 个 SharePoint 列表
- json - 如何在表vuejs中显示json
- mongodb - Mongoose - 如何访问/选择当前数据并将其与要更新的数据进行比较?
- javascript - 函数已定义但从未在 Vue 组件的脚本部分中使用
- c# - Newtonsoft 直接 json 属性名映射
- python - 使用 osmnx 查找最短路径
- javascript - 使用无效数据调用的函数 Query.where()
- xcode - Xcode 中下一次出现的大小写敏感选择