怎么将十六进制字符串:0020000000c00012 转换成:0x00 0x20 0x00 0x00 0x00 0xc0 0x00 0x12 .

uglyFairy 2007-07-12 01:18:08
怎么将十六进制字符串:0020000000c00012 转换成:0x00 0x20 0x00 0x00 0x00 0xc0 0x00 0x12 . 最好有代码.
...全文
445 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
有谁用过 byte 了?
IhaveGotYou 2007-07-12
  • 打赏
  • 举报
回复
Byte的范围是:-127到128,你上面的0xc0对于Byte,已经溢出.
参考代码:
package net.oicp.sunflowerbbs;

public class Ahex {

static Byte[] Convert(String str) {
int len = str.length();
Byte[] result = new Byte[(int)Math.round(len/2.0D)];
int k=0;
for (int i = 0; i < len; i += 2) {
String tmp = str.substring(i, i + 2 > len ? i + 1 : i + 2);
Long hex = Long.parseLong(tmp, 16);
result[k]=hex.byteValue();
System.out.println(result[k]);
k++;
}

return result;
}

public static void main(String[] args) {

Convert("0020000000c00012");

}

}
  • 打赏
  • 举报
回复
忘记是字符串了,改一下:

String s = "0020000000c00012";
long num = Long.parseLong(s, 16);
int k = s.length() / 2;
String[] str = new String[k];
for (int i = k - 1; i >= 0; i--) {
  str[i] = String.format("0x%02x", (num & 0xffL << (i * 8)) >> (i * 8));
  System.out.print(str[i] + " ");
}
  • 打赏
  • 举报
回复
long num = 0x0020000000c00012L;
String[] str = new String[8];
for(int i = 7; i >= 0; i--) {
  str[i] = String.format("0x%02x", (num & 0xffL << (i*8)) >> (i*8));
  System.out.print(str[i] + " ");
}
goziung 2007-07-12
  • 打赏
  • 举报
回复
不好意思,substring(int beginIndex, int endIndex)方法名字中string的“S”是小写的,特此更正
goziung 2007-07-12
  • 打赏
  • 举报
回复
你把整个字符串string拆开为8个两位的字符串数组,然后在前面加“0x”,再转换为相应的应用类型,行不?
用String类里的toCharArray() 或者 subString(int beginIndex, int endIndex)都能实现
bug008 2007-07-12
  • 打赏
  • 举报
回复
该问题的目的是将16位十六进制数据转换成8个字节数据
bug008 2007-07-12
  • 打赏
  • 举报
回复
注意:
实现语言:Java
  • 打赏
  • 举报
回复
需要
#include<sstream>
#include<algoritm>
  • 打赏
  • 举报
回复
stringstream conv;
conv<<hex;
conv<<"0020000000c00012";
unsigned char sz[8]={0};
long long *xx = (long long*)sz;
conv>> *xx;
reverse( sz , sz + 8 );
这里的sz就是你所需要的字符串了,
代码下载地址: https://pan.quark.cn/s/a4b39357ea24 基于灰度共生矩阵的图形纹理检测及路面状况的SVM分类实现 [TOC] 图像的特征提取是图像的识别和分类、基于内容的图像检索、图像数据挖掘等研究内容的基础性工作,其中图像的纹理特征对描述图像内容具有重要意义,纹理特征提取已成为图像领域研究的一个重要方法。 本项目以道路状况分类为背景,基于SVM使用纹理特征参数完成对道路状况的分类。 灰度共生矩阵的特征参数 二阶矩 对比度 相关性 熵 逆差距 实现过程 本文以识别路况为背景设计系统,首先读取图像文件,在为了得到较为理想的结果,给出的图片尺寸较小,这样的目的在于提高运行速度、能够对理想情况下的识别结果有更加精确的把握。 由于RGB图像的体积较大,但另一方面我们也知道,一张图片也可以用其灰度图像来反映,因此,对目标图像进行灰度的转化,可以降低对设计复杂度和运行效率的要求。 尽管灰度转化后可以有效的降低图片的大小,但是对于256灰度级的图片仍然会给处理带来一些时间上的消耗,因此需要在保持原图像信息不变的情况下大量削减灰度级,通过对图像进行直方图均衡化处理,增加灰度值的动态范围,从而增加图像的整体对比效果。 通常,需要将每个扫描的方向所计算的特征参数计算出来作一个权衡,这样能够更好地综合影响因素,一般会将每个方向的特征参数计算出来取平均,这样就可以以一个综合的指标来识别图像了。 把所有的设计思路综合起来,可以用下图所示的系统设计框图来反映。 png 分类结果 通过样本标签和分类后的标签对比,得出使用能量和对比度作为训练分类器的样本,分类器对于实验待分类样本分类的其正确率为:95%,由此可以看出,这个分类器对于道路状况的分类仍然具有一定的意义。 pn...

62,627

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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