读取文件获得16进制的字符串,转成数字

Ma_Da_O007 2019-08-05 02:49:52
String a = "0xa2cf550d";
int x = 0xa2cf550d;

如上,我从文件中读取的 a 字符串,这个是string类型的,但是字符串的内容是 16进制的 int类型,我想获得 x 一样的 int类型的16进制数该怎么办?请教各位大佬
...全文
286 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ma_Da_O007 2019-08-08
  • 打赏
  • 举报
回复
引用 3 楼 天行归来 的回复:
[quote=引用 2 楼 Ma_Da_O007 的回复:] [quote=引用 1 楼 oh_Maxy 的回复:] Integer.parseInt(String s, int radix) radix传16, 这个方法,直接转换成10进制整数给你。
我觉得不行 这个试过了但是但是好像位数太长溢出了--我换了个思路转成byte数组 谢啦[/quote] 转成 long 就可以, int 类型变成负数而已

		String a = "a2cf550d";
		long x = Long.parseLong(a, 16);
[/quote]好吧 实际上是有一个方法需要传入 int类型的数组(rsa秘钥),这个秘钥要对每一组进行高低位翻转,int类型可以用右移,我有点偷懒想用原来的右移方法,所以才问这个,后来还是直接用string拆分手动去转了,已经实现了 ,不过还是谢谢啦
guishuanglin 2019-08-06
  • 打赏
  • 举报
回复
引用 2 楼 Ma_Da_O007 的回复:
[quote=引用 1 楼 oh_Maxy 的回复:] Integer.parseInt(String s, int radix) radix传16, 这个方法,直接转换成10进制整数给你。
我觉得不行 这个试过了但是但是好像位数太长溢出了--我换了个思路转成byte数组 谢啦[/quote] 用楼上的就是了, 你溢出了,只能用更大的类型, 换成 byte值又不会变同样会溢出.
天行归来 2019-08-06
  • 打赏
  • 举报
回复
引用 2 楼 Ma_Da_O007 的回复:
[quote=引用 1 楼 oh_Maxy 的回复:] Integer.parseInt(String s, int radix) radix传16, 这个方法,直接转换成10进制整数给你。
我觉得不行 这个试过了但是但是好像位数太长溢出了--我换了个思路转成byte数组 谢啦[/quote] 转成 long 就可以, int 类型变成负数而已

		String a = "a2cf550d";
		long x = Long.parseLong(a, 16);
Ma_Da_O007 2019-08-06
  • 打赏
  • 举报
回复
引用 1 楼 oh_Maxy 的回复:
Integer.parseInt(String s, int radix) radix传16, 这个方法,直接转换成10进制整数给你。
我觉得不行 这个试过了但是但是好像位数太长溢出了--我换了个思路转成byte数组 谢啦
oh_Maxy 2019-08-05
  • 打赏
  • 举报
回复
Integer.parseInt(String s, int radix)
radix传16,
这个方法,直接转换成10进制整数给你。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧