将 Flutter/Dart 中的十六进制字符串转换为 ascii 字符串
Convert Hexadecimal string to ascii string in Flutter/Dart
我需要帮助,因为我是 DART 初学者。
我得到以下格式的 Json:
{"RETORNO":"0","OPERACAO":"PESQUISA_DADOS","UF":"RJ","MUNICIPIO":"","CODIGO_BENEFICIO":"7","BAIRRO":"","PALAVRA_CHAVE":"",
"REG":[
{"NOME":"3247204544554341c7c34f20452043554c5455524120464953494341204c5444412e","NOME_ABREVIADO":"435552564553202d2043454e54524f20505241c741204d415541","TIPO_BENEFICIO":"4553504f52544553","ENDERECO":"4156454e4944412052494f204252414e434f2c203433202f20534f4252454c4f4a41202d20434550203230303930303033202d2052494f204445204a414e4549524f202d20524a","TELEFONES":"2832312920203232303330333836","URL_SITE":"7777772e6375727665732e636f6d2e6272"}
]
}
当使用下面的指令检索信息解码时,
_nome = dados["NOME"]==null ? " " : ascii.decode(hex.decode(dados["NOME"])).toString();
我收到以下错误:
Error: I/flutter ( 7525): FormatException: Invalid value in input: 199
3247204544554341c7c34f20452043554c545524120464953494341204c5444412e
2G EDUCAÇãO E CULTURA FISICA LTDA.
十六进制格式字符串包含导致错误的特殊字符 (ÇÃ)。
我需要转换成UTF8格式吗?我应该怎么做?有人可以帮忙吗?
ASCII 不支持 ç
、á
等巴西字符。您必须使用 Unicode。
Dart String
本身就是一个 Unicode UTF-16,所以除非出于某种原因需要 ASCII,否则只需使用 Dart String
就可以了。
我需要帮助,因为我是 DART 初学者。 我得到以下格式的 Json:
{"RETORNO":"0","OPERACAO":"PESQUISA_DADOS","UF":"RJ","MUNICIPIO":"","CODIGO_BENEFICIO":"7","BAIRRO":"","PALAVRA_CHAVE":"",
"REG":[
{"NOME":"3247204544554341c7c34f20452043554c5455524120464953494341204c5444412e","NOME_ABREVIADO":"435552564553202d2043454e54524f20505241c741204d415541","TIPO_BENEFICIO":"4553504f52544553","ENDERECO":"4156454e4944412052494f204252414e434f2c203433202f20534f4252454c4f4a41202d20434550203230303930303033202d2052494f204445204a414e4549524f202d20524a","TELEFONES":"2832312920203232303330333836","URL_SITE":"7777772e6375727665732e636f6d2e6272"}
]
}
当使用下面的指令检索信息解码时,
_nome = dados["NOME"]==null ? " " : ascii.decode(hex.decode(dados["NOME"])).toString();
我收到以下错误:
Error: I/flutter ( 7525): FormatException: Invalid value in input: 199
3247204544554341c7c34f20452043554c545524120464953494341204c5444412e 2G EDUCAÇãO E CULTURA FISICA LTDA.
十六进制格式字符串包含导致错误的特殊字符 (ÇÃ)。 我需要转换成UTF8格式吗?我应该怎么做?有人可以帮忙吗?
ASCII 不支持 ç
、á
等巴西字符。您必须使用 Unicode。
Dart String
本身就是一个 Unicode UTF-16,所以除非出于某种原因需要 ASCII,否则只需使用 Dart String
就可以了。