首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >飞镖/颤音-十六进制转换?

飞镖/颤音-十六进制转换?
EN

Stack Overflow用户
提问于 2022-07-18 09:59:38
回答 2查看 192关注 0票数 0

我想把“Hello”转换成十六进制

codeUnits是:

代码语言:javascript
复制
[72, 101, 108, 108, 111, 55357, 56395]

我想获得:48656c6c6ff09f918b

请问怎么做?我使用了一些libs‘品纳尼’,‘十六进制’,但我得到了一个错误的正己人:48656c6c6f3d4b

EN

回答 2

Stack Overflow用户

发布于 2022-07-18 10:13:58

您可以使用十六进制

代码语言:javascript
复制
List<int> list = utf8.encode("Hello");
String hex = HEX.encode(list);
print(hex);

结果

代码语言:javascript
复制
48656c6c6ff09f918b
票数 1
EN

Stack Overflow用户

发布于 2022-07-18 10:14:17

您的结果是以UTF-8编码,而不是UTF-16 (您的代码单位是)。因此,您需要首先将您的String编码为UTF-8数据,然后将其转换为十六进制:

代码语言:javascript
复制
import 'dart:convert';

void main() {
  String string = String.fromCharCodes([72, 101, 108, 108, 111, 55357, 56395]);
  print(string); // Hello
  print(utf8.encode(string).map((e) => e.toRadixString(16)).join()); // 48656c6c6ff09f918b
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73020439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档