如何评价iPhoneX和外媒美国评价小米mixx2

博客访问: 374714
博文数量: 133
博客积分: 3207
博客等级: 中校
技术积分: 1880
注册时间:
认证徽章:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: Java
题目:例如将String="ABCDEF"转换为byte[]={0x12,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF}
代码如下:
public class javaHexStr
&&&&public static byte[] str2Bcd(String asc) {
&&&&&&&&int len = asc.length();
&&&&&&&&int mod = len % 2;
&&&&&&&&if (mod != 0) {
&&&&&&&&&&&&asc = "0" + asc;
&&&&&&&&&&&&len = asc.length();
&&&&&&&&byte abt[] = new byte[len];
&&&&&&&&if (len >= 2) {
&&&&&&&&&&&&len = len / 2;
&&&&&&&&byte bbt[] = new byte[len];
&&&&&&&&abt = asc.getBytes();
&&&&&&&&int j, k;
&&&&&&&&for (int p = 0; p < asc.length() / 2; p++) {
&&&&&&&&&&&&if ((abt[2 * p] >= '0') && (abt[2 * p] <= '9')) {
&&&&&&&&&&&&&&&&j = abt[2 * p] - '0';
&&&&&&&&&&&&} else if ((abt[2 * p] >= 'a') && (abt[2 * p] <= 'z')) {
&&&&&&&&&&&&&&&&j = abt[2 * p] - 'a' + 0x0a;
&&&&&&&&&&&&} else {
&&&&&&&&&&&&&&&&j = abt[2 * p] - 'A' + 0x0a;
&&&&&&&&&&&&}
&&&&&&&&&&&&if ((abt[2 * p + 1] >= '0') && (abt[2 * p + 1] <= '9')) {
&&&&&&&&&&&&&&&&k = abt[2 * p + 1] - '0';
&&&&&&&&&&&&} else if ((abt[2 * p + 1] >= 'a') && (abt[2 * p + 1] <= 'z')) {
&&&&&&&&&&&&&&&&k = abt[2 * p + 1] - 'a' + 0x0a;
&&&&&&&&&&&&} else {
&&&&&&&&&&&&&&&&k = abt[2 * p + 1] - 'A' + 0x0a;
&&&&&&&&&&&&}
&&&&&&&&&&&&int a = (j << 4) + k;
&&&&&&&&&&&&byte b = (byte) a;
&&&&&&&&&&&&bbt[p] = b;
&&&&&&&&&&&&System.out.format("%02X\n", bbt[p]);
&&&&&&&&return bbt;
&&&& private static byte asc_to_bcd(byte asc) {
&&&& byte bcd;
&&&& if ((asc >= '0') && (asc <= '9'))
bcd = (byte) (asc - '0');
&&&& else if ((asc >= 'A') && (asc <= 'F'))
bcd = (byte) (asc - 'A' + 10);
&&&& else if ((asc >= 'a') && (asc <= 'f'))
bcd = (byte) (asc - 'a' + 10);
bcd = (byte) (asc - 48);
&&&& return bcd;
&&&& private static byte[] ASCII_To_BCD(byte[] ascii, int asc_len) {
&&&& byte[] bcd = new byte[asc_len / 2];
&&&& int j = 0;
&&&& for (int i = 0; i < (asc_len + 1) / 2; i++) {
bcd[i] = asc_to_bcd(ascii[j++]);
bcd[i] = (byte) (((j >= asc_len) ? 0x00 : asc_to_bcd(ascii[j++])) + (bcd[i] << 4));
&&&& System.out.format("%02X\n", bcd[i]);
&&&& return bcd;
&&&& public static String bcd2Str(byte[] bytes) {
&&&& char temp[] = new char[bytes.length * 2], val;
&&&& for (int i = 0; i < bytes.length; i++) {
val = (char) (((bytes[i] & 0xf0) >> 4) & 0x0f);
temp[i * 2] = (char) (val > 9 ? val + 'A' - 10 : val + '0');
val = (char) (bytes[i] & 0x0f);
temp[i * 2 + 1] = (char) (val > 9 ? val + 'A' - 10 : val + '0');
&&&& return new String(temp);
&&&& * @param args
&&&&public static void main(String[] args) {
&&&&&&&&// TODO Auto-generated method stub
&&&&&&&&//System.out.print("Hello,World!");
&&&&&&&& String s = "";
&&&& byte[] bcd = ASCII_To_BCD(s.getBytes(), s.length());
&&&&&&&& //byte[] bcd = str2Bcd(s);
&&&& // String s1 = bcd2Str(bcd);
&&&& //System.out.print(s1);
阅读(5186) | 评论(0) | 转发(1) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。String_HEX 字符窜型转化为十六进制型的JAVA实现,找了很长时间哟。 Develop 238万源代码下载-
&文件名称: String_HEX
& & & & &&]
&&所属分类:
&&开发工具: Java
&&文件大小: 2 KB
&&上传时间:
&&下载次数: 60
&&提 供 者:
&详细说明:字符窜型转化为十六进制型的JAVA实现,找了很长时间哟。-Channeling-type character into hexadecimal type JAVA implementation, to find a very long time yo.
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&String_HEX\StringToHex.class&&..........\StringToHex.java&&String_HEX
&近期下载过的用户:
&相关搜索:
&输入关键字,在本站238万海量源码库中尽情搜索:
&[] - 将二进制文件输出成16进制字符串文件,输出文件名是源文件名+.hextext
&[] - java实现的md5加密小例子,直接编译运行TestMD5.java即可
&[] - HTML各个属性的使用和很多实用的范例,望各个网友喜欢
&[] - 一个用java实现的串行端口发送和接收数据
&[] - android 串口调试源代码,在开源代码的基础上,增加了桌面收发的功能,并实时转化为十六进制显示
&[] - 奇偶校验演示,点击数字可以转换01数,右方和下方会显示奇偶校验编码Java中二进制字节与十六进制互转 -
- ITeye技术网站
博客分类:
在Java中字节与十六进制的相互转换主要思想有两点:1、二进制字节转十六进制时,将字节高位与0xF0做"&"操作,然后再左移4位,得到字节高位的十六进制A;将字节低位与0x0F做"&"操作,得到低位的十六进制B,将两个十六进制数拼装到一块AB就是该字节的十六进制表示。2、十六进制转二进制字节时,将十六进制字符对应的十进制数字右移动4为,得到字节高位A;将字节低位的十六进制字符对应的十进制数字B与A做"|"运算,即可得到十六进制的二进制字节表示我测试的Java代码如下:
public class Test01 {
private static String hexStr =
private static String[] binaryArray =
{"0000","0001","0010","0011",
"0100","0101","0110","0111",
"1000","1001","1010","1011",
"1100","1101","1110","1111"};
public static void main(String[] args)
String str = "二进制与十六进制互转测试";
System.out.println("源字符串:\n"+str);
String hexString = BinaryToHexString(str.getBytes());
System.out.println("转换为十六进制:\n"+hexString);
System.out.println("转换为二进制:\n"+bytes2BinaryStr(str.getBytes()));
byte [] bArray = HexStringToBinary(hexString);
System.out.println("将str的十六进制文件转换为二进制再转为String:\n"+new String(bArray));
* @param str
* @return 转换为二进制字符串
public static String bytes2BinaryStr(byte[] bArray){
String outStr = "";
int pos = 0;
for(byte b:bArray){
pos = (b&0xF0)&&4;
outStr+=binaryArray[pos];
pos=b&0x0F;
outStr+=binaryArray[pos];
return outS
* @param bytes
* @return 将二进制转换为十六进制字符输出
public static String BinaryToHexString(byte[] bytes){
String result = "";
String hex = "";
for(int i=0;i&bytes.i++){
//字节高4位
hex = String.valueOf(hexStr.charAt((bytes[i]&0xF0)&&4));
//字节低4位
hex += String.valueOf(hexStr.charAt(bytes[i]&0x0F));
result +=hex+" ";
* @param hexString
* @return 将十六进制转换为字节数组
public static byte[] HexStringToBinary(String hexString){
//hexString的长度对2取整,作为bytes的长度
int len = hexString.length()/2;
byte[] bytes = new byte[len];
byte high = 0;//字节高四位
byte low = 0;//字节低四位
for(int i=0;i&i++){
//右移四位得到高位
high = (byte)((hexStr.indexOf(hexString.charAt(2*i)))&&4);
low = (byte)hexStr.indexOf(hexString.charAt(2*i+1));
bytes[i] = (byte) (high|low);//高地位做或运算
运行后的输出结果如下:
源字符串:
二进制与十六进制互转测试
转换为十六进制:
E4BA8CE8BF9BE588B6E4B88EE58D81E585ADE8BF9BE588B6E4BA92E8BDACE6B58BE8AF95
转换为二进制:
将str的十六进制文件转换为二进制并转为String:
二进制与十六进制互转测试
浏览 24569
bytes2BinaryStr(HexStringToBinary("0x1")) = 这个输出似乎不是 十六 转 二 吧。 &&&&&&& System.out.println("bytes2BinaryStr(HexStringToBinary(\"0x1\")) = "+bytes2BinaryStr(HexStringToBinary("0x1")));&
&&&&&&&&& 位运算不太熟,请帮忙解答。
怎么没有二进制的输出呢?呵呵,有二进制输出了
浏览: 31178 次
来自: 山东青岛
[b][/b]我运行出现乱码啊
Long.toHexString(Long.parseLong ...
&div class=&quote_title ...
bytes2BinaryStr(HexStringToBina ...
&div class=&quote_title ...13:56 提问
转换颜色RGB到HEX
创建了一个方法转换三原色值到HEX值:
protected String convertRGBToHex(int r, int g, int b) {
String rFString, rSString, gFString, gSString, bFString, bSString,
int red, green,
int rred, rgreen,
red = r / 16;
rred = r % 16;
if (red == 10) rFString = "A";
else if (red == 11) rFString = "B";
else if (red == 12) rFString = "C";
else if (red == 13) rFString = "D";
else if (red == 14) rFString = "E";
else if (red == 15) rFString = "F";
else rFString = String.valueOf(red);
if (rred == 10) rSString = "A";
else if (rred == 11) rSString = "B";
else if (rred == 12) rSString = "C";
else if (rred == 13) rSString = "D";
else if (rred == 14) rSString = "E";
else if (rred == 15) rSString = "F";
else rSString = String.valueOf(rred);
rFString = rFString + rSS
green = g / 16;
rgreen = g % 16;
if (green == 10) gFString = "A";
else if (green == 11) gFString = "B";
else if (green == 12) gFString = "C";
else if (green == 13) gFString = "D";
else if (green == 14) gFString = "E";
else if (green == 15) gFString = "F";
else gFString = String.valueOf(green);
if (rgreen == 10) gSString = "A";
else if (rgreen == 11) gSString = "B";
else if (rgreen == 12) gSString = "C";
else if (rgreen == 13) gSString = "D";
else if (rgreen == 14) gSString = "E";
else if (rgreen == 15) gSString = "F";
else gSString = String.valueOf(rgreen);
gFString = gFString + gSS
blue = b / 16;
rblue = b % 16;
if (blue == 10) bFString = "A";
else if (blue == 11) bFString = "B";
else if (blue == 12) bFString = "C";
else if (blue == 13) bFString = "D";
else if (blue == 14) bFString = "E";
else if (blue == 15) bFString = "F";
else bFString = String.valueOf(blue);
if (rblue == 10) bSString = "A";
else if (rblue == 11) bSString = "B";
else if (rblue == 12) bSString = "C";
else if (rblue == 13) bSString = "D";
else if (rblue == 14) bSString = "E";
else if (rblue == 15) bSString = "F";
else bSString = String.valueOf(rblue);
bFString = bFString + bSS
result = "#" + rFString + gFString + bFS
我想知道能不能将这个string结果转换到int值,使用方法:
view.setBackgroundColor(0xF82619);
或者转换string到int:
view.setBackgroundColor(result);
按赞数排序
view.setBackgroundColor(Color.parseColor("#0xF82619"));
其他相似问题

我要回帖

更多关于 如何评价小米mix知乎 的文章

 

随机推荐