压缩空格的函数以及BCD码与ASCII相互转换函数
/**
函数名:zip_space
功能 :压缩空格的函数
参数 :
s 源字符串
返回值:
0 成功
**/
int zip_space(char *s){
int i,j;
int len;
if(s==NULL || strlen(s)==)
{
return -;
}
len=strlen(s);
i=j=;
while(s[i]!='\0'){
if(s[i]!=' '){
if(i!=j){
s[j]=s[i];
}
i++;j++;
}else{
i++;
}
}
while(j<i){
s[j]='\0';
j++;
}
return();
}
/*************
****************/
int zip_0a09(char *s, int begin)
{
int len=strlen(s);
int i,j;
i=j=begin;
while(s[i]!='\0'){
if(s[i]!=0x09 && s[i]!=0x0a){
if(i!=j){
s[j]=s[i];
}
i++;j++;
}else{
i++;
}
}
if(j<i){
s[j]='\0';
}
return(j);
}
/****asc->bcd***/
int iAscToBcd(char *pcASC,char *pcBCD,int iLength){
int i;
for(i=;i<iLength/;i++){
unsigned char ch1,ch2;
ch1=(unsigned char)pcASC[i*];
ch2=(unsigned char)pcASC[i*+];
if(ch1>='a' && ch1<='f')
ch1=ch1-'a'+0xa;
else if(ch1>='A' && ch1<='F')
ch1=ch1-'A'+0xa;
else
ch1=ch1-'';
if(ch2>='a' && ch2<='f')
ch2=ch2-'a'+0xa;
else if(ch2>='A' && ch2<='F')
ch2=ch2-'A'+0xa;
else
ch2=ch2-'';
pcBCD[i]=(ch1<<)|ch2;
}
return();
}
/****bcd->asc***/
int iBcdToAsc(char *pcBCD,char *pcASC,int iLength){
int i;
for(i=;i<iLength;i++){
unsigned char ch;
ch=(unsigned char)pcBCD[i];
ch=ch>>;
if(ch>=){
pcASC[*i]=ch-+'A';
}else{
pcASC[*i]=ch+'';
}
ch=(unsigned char)pcBCD[i];
ch=ch &0x0f;
if(ch>=){
pcASC[*i+]=ch-+'A';
}else{
pcASC[*i+]=ch+'';
}
}
return();
}
压缩空格的函数以及BCD码与ASCII相互转换函数的更多相关文章
- 内置函数 -- bytes -- 字节码与字符串相互转换
说明: 1. 返回值为一个新的不可修改字节数组,每个数字元素都必须在0 - 255范围内,是bytearray函数的具有相同的行为,差别仅仅是返回的字节数组不可修改. 2. 当3个参数都不传的时候,返 ...
- java中String\十六进制String\byte[]之间相互转换函数
java二进制,字节数组,字符,十六进制,BCD编码转换2007-06-07 00:17/** *//** * 把16进制字符串转换成字节数组 * @param hex * @return */ pu ...
- 汇编_压缩BCD码和非压缩BCD码
BCD码是表示十进制数的,非压缩BCD码是用8位表示的,其实只用低4位,高4位全为0. 例如,十进制数36,用非压缩BCD码表示为:0000 0011 0000 0110 ,这是两个字节. 压缩BCD ...
- Delphi中对BCD码的直接支持 (转)
最近在Delphi下写软件,需要将数据转换为BCD码和将BCD码转换为其它数据类型,从网上搜索了一下,没有发现好的函数,于是就想自定义函数来完成BCD与其它格式的数据转换功能.但最终没有动手写,先查查 ...
- BCD码、十六进制与十进制互转
在做嵌入式软件的设计中,常常会遇到十六进制.BCD码与十进制之间的转换,近期做M1卡的应用中,涉及了大量的十六进制.BCD码与十进制之间的转换.通过对BCD码.十六进制 权的理解,轻松的实现了他们之间 ...
- javascript 压缩空格代码演示
压缩空格代码演示 主要是讲解 压缩一个字符串两段空格 例如:javascript函数里的空格不论是这样 var s = "Hello World ...
- FPGA中将十进制数在数码管中显示(verilog版)--二进制转换为BCD码
这周有朋友问怎样在fpga中用数码管来显示一个十进制数,比如1000.每个数码管上显示一位十进制数.如果用高级语言来分离各位,只需要分别对该数做1000,100,10对应的取商和取余即可分离出千百十个 ...
- BCD码转十进制C语言实现
#include <stdio.h> #include <stdlib.h> #define uchar unsigned char uchar BCD_Decimal(uch ...
- Linux时间戳转换成BCD码(转载)
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <math.h> / ...
随机推荐
- vue elementUI之Form表单 验证
首先说一下 我在form表单里面遇见的坑: 1.例如我要给后台传的不是对象,而是一个数组,怎么写验证? 2.比如我有四个弹出框,都要做验证,这个时候就要注意了,每一个弹出框的ref都不能给的一样,并且 ...
- 使用JavaScript实现简单的双色球
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- UnitOfWork知多少
1. 引言 Maintains a list of objects affected by a business transaction and coordinates the writing out ...
- 一步步学习操作系统(1)——参照ucos,在STM32上实现一个简单的多任务(“啰里啰嗦版”)
该篇为“啰里啰嗦版”,另有相应的“精简版”供参考 “不到长城非好汉:不做OS,枉为程序员” OS之于程序员,如同梵蒂冈之于天主教徒,那永远都是块神圣的领土.若今生不能亲历之,实乃憾事! 但是,圣域不是 ...
- 【Centos7】安装mongodb 使用yum源
根据mongodb官网提供的教程安装: 1.创建mongdb-org-3.4.repo 2.使得selinux的config为disabled 3.yum -y install mongodbxxxx ...
- java关于jdbc的配置与使用步骤
1.下载一个jdbc的jar包 2.在eclipse的项目名右键-new-folder 创建一个文件夹lib 3.将jar包拖到此文件夹中,在此jar包右键build path--add to pat ...
- Android笔记: ViewPager基本用法
ViewPager控件可以实现多个View(或fragment)滑动切换的效果,属于比较常用的控件.下面用一个简单的例子介绍一下该控件的基本用法. 首先是布局文件activity_view_pager ...
- Python | 多种编码文件(中文)乱码问题解决
问题线索 1 可以知道的是,文本文件的默认编码并不是utf8. 我们打开一个文本文件,并点击另存为 2 我们在新窗口的编码一栏看到默认编码是ANSI.先不管这个编码是什么编码,但是通过下拉列表我们 ...
- Django编写RESTful API(三):基于类的视图
欢迎访问我的个人网站:www.comingnext.cn 前言 在上一篇文章中,主要讲的是请求和响应,项目里面views.py中的视图函数都是基于函数的,并且我们介绍了@api_view这个很有用的装 ...
- C# 使用NPOI 实现Excel的简单导入导出
private void btnImport_Click(object sender, EventArgs e) { DataSet ds = new DataSet(); DataTable dt ...