- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我从我的 api 获取下一个字符串
"à é à ó ú ü ñ \uD83D\uDE00\uD83D\uDE03\uD83D\uDE04\uD83D\uDE01\uD83D\uDE06\uD83D\uDE05"
来自 json 格式的响应
{
'apiText': "à é à ó ú ü ñ \uD83D\uDE00\uD83D\uDE03\uD83D\uDE04\uD83D\uDE01\uD83D\uDE06\uD83D\uDE05",
'otherInfo': 'etc.',
.
.
.
}
它包含未正确编码的重音 à é à ó ú ü ñ
并且它包含表情符号 \uD83D\uDE00\uD83D\uDE03\uD83D\uDE04\uD83D\uDE01\uD83D\uDE06\uD83D\uDE05
到目前为止我已经尝试过了
var json = jsonDecode(response.body)
String apiText = json['apiText'];
List<int> bytes = apiText.codeUnits;
comentario = utf8.decode(bytes);
但产生一个
[错误:flutter/lib/ui/ui_dart_state.cc(166)] 未处理的异常:FormatException:无效的 UTF-8 字节(在偏移量 21 处)
如何获得带有重音符号和表情符号的正确文本?
最佳答案
根据您调用 response.body
的事实,我假设您使用的是 http
包,它在 上具有
对象。body
属性>Response
您应该注意文档中的以下详细信息:
This is converted from bodyBytes using the
charset
parameter of theContent-Type
header field, if available. If it's unavailable or if the encoding name is unknown, latin1 is used by default, as per RFC 2616.
好吧,它似乎很可能无法找出字符集,因此默认为 latin1,这解释了您的响应是如何搞砸的。
一个解决方案是使用 resonse.bodyBytes
相反,它包含来自响应的原始字节。然后您可以使用例如手动解析它utf8.decode(resonse.bodyBytes)
如果您确定响应应该被解析为 UTF-8。
关于flutter - dart/flutter 中的表情符号和重音编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74039490/
我遇到了 Handlebars 表达式 {{!< default}}我不明白。在问这个问题之前,我曾尝试在谷歌上搜索答案。但是,我找不到任何答案。谁能解释一下这个表达式是什么意思? 最佳答案 在 Ha
经常有朋友问起,如何在im即时通讯中实现发送图片、视频、语音和表情? 为此,小编特意写了一个vue版本的demo,实现了图片视频文件和表情的的发送,参考这个demo源代码,相信你就可以轻松的用un
这里是一个网站 ( https://twitchemotes.com/apidocs ),它展示了一个用于获取 twitch 表情的 API(基本上是描述属于不同用户的一组图像的 json)。 API
使用 Python 3,像下面这样的简单脚本应该按预期运行,但似乎会因 unicode 表情字符串而窒息: import re phrase = "(╯°□°)╯ ︵ ┻━┻" pattern = r
我试图弄清楚表情符号(表情)选择是如何在 Facebook 应用和 Google Hangouts 应用上实现的。我查看了 Android API 示例中的 SoftKeyboard 演示应用程序,但
我正在尝试在 android 通知文本中显示笑脸(或图像范围)。它不起作用。有人知道怎么做吗?谢谢。 代码如下: SpannableStringBuilder builder = new Spanna
我是一名优秀的程序员,十分优秀!