压缩空格的函数以及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> / ...
随机推荐
- 【物联网云端对接-4】通过MQTT协议与百度云进行云端通信
百度云的天工物联网服务目前包括:物接入.物解析.物管理.时序数据库和规则引擎等5大部分,本篇文章仅介绍物接入. 天工物联网的物接入,从开发者的角度来说相对有些复杂,需要多步操作才能实现一个云设备的创建 ...
- 浏览器支持播放的视频播放格式要求(H5的video标签)
今天给一个客户上传视频后发现,即使是MP4格式的视频浏览器也打不开,找了好久的问题,最红发现客户视频的编码方式不是h5支持的,折腾了好久,最终确认了浏览器对于MP4编码方式的如下: 浏览器对mp4的编 ...
- 关于web.xml中的<welcome-file-list>
关于web.xml中的<welcome-file-listgt; WebXMLSpringJSPTomcat 问题: <welcome-file-listgt;中的<welcome- ...
- 使用Java模拟一个简单的Dos学生成绩管理系统:
使用Java模拟学生成绩管理系统... ------------------- 学生成绩管理系统:需要实现的功能:1.录入学生的姓名和成绩2.显示列表.列表中包括学生姓名与成绩3.显示最高分.最低分的 ...
- [目标检测]YOLO原理
1 YOLO 创新点: 端到端训练及推断 + 改革区域建议框式目标检测框架 + 实时目标检测 1.1 创新点 (1) 改革了区域建议框式检测框架: RCNN系列均需要生成建议框,在建议框上进行分类与回 ...
- C# 隐藏文件
void SerializeXmlNodes(XmlSerializer serialize, string filePath, List<XmlNode> nodes) { using ...
- Andrew Ng机器学习课程笔记--week8(K-means&PCA)
Unsupervised Learning 本周我们讲学习非监督学习算法,会学习到如下概念 聚类(clustering) PCA(Principal Componets Analysis主成分分析), ...
- C语言指针详解
前言 这不是我第一次写关于C指针的文章了,只是因为指针对于C来说太重要,而且随着自己编程经历越多,对指针的理解越多,因此有了本文. 为什么需要指针? 指针解决了一些编程中基本的问题. 第一,指针的使用 ...
- asp.net MVC Ajax.BeginForm 异步上传图片的问题
当debug到这里,你们就发现不管是 Request.Files["Upload"]亦或 Request.Files[0] 都不会取到文件流. 这就是我要说的,当使用Ajax.Be ...
- Jquery笔记之第二天
Jquery笔记之第二天 jQuery - 获取内容和属性 获得内容 - text().html() 以及 val() <script> $(document).ready(functio ...