- 浏览: 222782 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
wly20110420:
很详细,谢谢分享!
java中String\十六进制String\byte[]之间相互转换函数 -
星星283320052:
...
随心畅言 -
贾懂凯:
...
随心畅言
/// <summary> /// BCD码转为10进制串(阿拉伯数据) /// </summary> /// <param name="bytes">BCD码 </param> /// <returns>10进制串 </returns> public String bcd2Str(byte[] bytes) { StringBuilder temp = new StringBuilder(bytes.Length * 2); for (int i = 0; i < bytes.Length; i++) { temp.Append((byte)((bytes[i] & 0xf0) >> 4)); temp.Append((byte)(bytes[i] & 0x0f)); } return temp.ToString().Substring(0, 1).Equals("0") ? temp.ToString().Substring(1) : temp.ToString(); } /// <summary> /// 10进制串转为BCD码 /// </summary> /// <param name="asc">10进制串 </param> /// <returns>BCD码 </returns> public 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 = System.Text.Encoding.ASCII.GetBytes(asc); 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; } return bbt; }
发表评论
-
@RequestMapping 用法详解之地址映射
2015-08-31 11:32 0前段时间项目中用到了RESTful模式来开发程序,但是当用P ... -
focus获取不到光标
2014-03-07 18:10 572focus第一能获取,重新调用不能获取光标,解决方案: i ... -
根据XML Schema生成java类
2014-02-26 13:41 0根据XML Schema生成java类 JAXB提供了 ... -
CLOB/BLOB与String互转。
2013-12-21 17:28 7554String s1="1231dsdgasd ... -
json转换
2013-11-27 17:03 697j1、DTO:Data Transfer Objec ... -
org.hibernate.LazyInitializationException: failed to lazily initialize a collect
2013-04-26 15:37 857这个异常:org.hibernate.LazyInitial ... -
String Stringbuffer和StringBuilder的区别?
2013-04-10 10:27 642java.lang.StringBuffer线程安全的可变字 ... -
获取当前时间的前一天和后一天
2013-01-17 19:36 1397package jp.co.hitachi_solution ... -
js 上传和下载本地文件
2012-11-29 15:24 1291function writeFile(path,data){ ... -
java 文件上传
2012-11-29 15:11 714//同步销单信息 function synchrony ... -
java 文件下载
2012-11-29 15:04 683//下载任务 public String synchronyT ... -
Specified VM install not found: type Standard VM, name jre
2012-11-29 14:10 1044编译Ant脚本时出错: "Specified VM ... -
JAVA实现HTTP服务器端
2012-10-30 15:37 1156用java socket实现了一个简单的http服务器, 可以 ... -
警告:不能读取 AppletViewer 的属性文件:
2012-10-30 15:04 667警告:不能读取 AppletViewer 的属性文件: C:\ ... -
SAXBuilder基本用法
2012-08-29 13:38 1008xml为我们在网络交换 ... -
jdom学习:读取xml文件
2012-08-27 16:50 622用JDOM读取XML文件需先用org.jdom.input.S ... -
Java获取当前日期的前一个月,前一天的时间
2012-08-23 16:08 19750Calendar calendar = Calendar.ge ... -
Hql语句根据时间查询,如何查询昨天、今天、上月、本月的数据
2012-08-10 17:26 13397这个只要你能根据今天的时间算出你需要的时间就完全可以了 如下 ... -
cron 表达式的格式
2012-07-12 10:35 835cron 表达式的格式 Quartz cron 表达式的格式 ... -
java中String\十六进制String\byte[]之间相互转换函数
2012-03-16 16:14 41491java二进制,字节数组,字符,十六进制,BCD编码转换200 ...
相关推荐
1. **BCD码转换为字符串(String)**:在Android应用中,我们可能需要将接收到的BCD码数据解析成易于阅读的字符串。这个工具类应该包含一个方法,接受一个`byte[]`数组作为参数,其中每个字节的高位和低位分别代表一个...
数字字符串转BCD码,BCD码转字符串C函数,定义好的函数下载即可使用无需更改。
java工具类 : string转10进制sacii byte数组、 10进制sacii byte数组转16进制字符数组、 16进制字符数组转16进制byte数组、 string与BCD互转等方法,包含多个转换方法, 足够满足日常解包组包需求
bool __stdcall stringtohex(unsigned char *inbuf,int inlen,unsigned char * outbuf); bool __stdcall ishex(BYTE *buf,int bl); bool __stdcall isbcd(BYTE *buf,int bl); bool __stdcall encodebcd(BYTE *buf,...
根据提供的文件信息,本文将详细解释“bcd码大数计算源码”的核心概念与实现细节。这段代码主要涉及了BCD(Binary-Coded Decimal,二进制编码十进制数)编码的大数运算处理方法,包括加法、减法、乘法和除法。 ### ...
- `fromHexString(String hex)`:将十六进制字符串解析为BCD编码的字节数组。 在实际开发中,BCD编码常用于金融系统,如银行、支付平台等,处理金额时需要保证精度,避免浮点数计算误差。同时,BCD编码也有利于减少...
// BCD转ASCII for (int i = 0; i (); i++) { cout [i]; } cout ; string str2 = ASCII2BCD(str1); // ASCII转BCD for (int i = 0; i (); i++) { cout [i]; } cout ; return 0; } ``` 四、总结 本文详细...
a simple tool convert between bytes and BCD code. written in Objective-C for IOS. ##APIS //BCD码转换为十六进制数 +(NSString*)BCDToHEX:(NSData*)data; //从字符串中取字节数组(将HEX转换为BCD) +(NSData*)...
BCD 即BCD代码。Binary-Coded Decimal,简称BCD,称BCD码或二-十进制代码,亦称二进码十进数。是一种二进制的数字编码形式,用二进制编码的十进制代码。这种编码形式利用了四个位元来储存一个十进制的数码,使二...
本篇文章将深入探讨如何在VC++环境中,利用MFC(Microsoft Foundation Classes)框架实现GBK编码与汉字之间的转换,以及BCD(Binary Coded Decimal)编码和ASCII编码的转换。 首先,我们来看GBK编码和汉字的转换。...
java字节流相关操作,int转换成byte字节数组,String转换为byte字节数组,bcd码转换。
### String 创建的理解与深入解析 #### 一、String 创建的位置:栈 vs 堆 **栈(Stack)** 和 **堆(Heap)** 是 Java 内存管理中的两个重要概念,它们分别负责不同类型的内存分配。 1. **栈内存**: - **特点**...
如`"abcdefg".slice(1, 3)`返回`"bcd"`。 `string.split(separator, limit)`方法根据`separator`将字符串分割成数组。`limit`参数限制返回数组的长度。例如,`"a1,b1,c1".split(",")`返回`["a1", "b1", "c1"]`,`"a...
例如,`string.sub("abcd", 2)` 返回 "bcd",`string.sub("abcd", -2)` 返回 "cd",`string.sub("abcd", 2, -2)` 返回 "bc"。 6. `find` 函数:这个函数用于查找字符串中是否存在指定的子串。它返回子串的开始和...
这部分代码首先使用DOS的10H功能调用来读取用户输入的字符串,并将其存储在`STRING`变量中。接着,用户输入要查找的字符。之后,程序遍历输入的字符串,逐个字符与查找字符进行比较。如果找到匹配的字符,就显示...
// 十六进制 BCD 转十进制整数 function HexBCDToint(sHexBCD: Byte): integer; // 十进制整数转十六进制 BCD function IntToBCD(Int: Byte): word; // 分钟数转日期时间 function MinuteToTime(Minute: ...
它支持多种时间格式,包括BCD(二进制编码的十进制)和普通二进制,可以根据应用需求选择。 RTC的日期和时间设置通常涉及以下步骤: 1. **初始化RTC**:首先,需要配置RTC的预分频器、闰年补偿和时区设置。预分频器...
Function Str2Bcd(Str: String): String; var i, Bytes: Byte; Odd: boolean; Hex: String; begin Result := ''; Odd := Length(Str) mod 2 = 1; Bytes := (Length(Str) + 1) div 2; if Odd then Str := Str ...
BCD相关的函数允许在二进制和十进制之间转换,如`BCD_TO_INT(x)`,`INT_TO_BCD(x)`,`DWORD_BCD_TO_DINT(x)`等。 5. 特殊数据类型: - `WORD_BCD_TO_INT(x)`:将一个包含BCD码的字转换为整数。 - `INT_TO_BCD_...