车辆VIN码的校验算法
一、关于车辆的VIN码介绍: 直接百度
二、VIN码的校验位是第九位,对于第九位的计算方法如下:
2.1 内容的权值:VIN码各位数字的“对应值”:
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|||||||||||||
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|||||||||||||
A |
B |
C |
D |
E |
F |
G |
H |
J |
K |
L |
M |
N |
P |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
1 |
2 |
3 |
4 |
5 |
7 |
9 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
2.2 位置的权值: VIN码从第1位到第17位的“加权值”:
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
10 |
0 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
计算方法:
VIN码从从第一位开始,码数字的对应值×该位的加权值,计算全部17位的乘积值相加除以11,所得的余数,即为第九位校验值
例子:
车辆识别码:UU6JA69691D713820第九位为9为校验码,我们可以验证下是否正确。
4×8+4×7+6×6+1×5+1×4+6×3+9×2+6×10+1×9+4×8+7×7+1×6+3×5+8×4+2×3+0×0 = 350
350除以11,得31,余9,该余数9即为校验码,和识别码的校验位相同。如果余数为10,则检验位为字母“X”
-----------------------------------我是分割线---------------------------------------
#include "stdio.h"
#define GD_OK 1
#define GD_ERR -1
int VinCalc(char *Vin,char *reslt)
{
unsigned int i = 0;
unsigned int sum =0;
unsigned int check = 0;
char temp=0;
unsigned int j = 0;
char jianquan[26][2] = {
{'A',1},{'B',2},{'C',3},{'D',4},{'E',5},{'F',6},
{'G',7},{'H',8},{'I',0},{'J',1},{'K',2},{'L',3},
{'M',4},{'N',5},{'O',0},{'P',7},{'Q',8},{'R',9},
{'S',2},{'T',3},{'U',4},{'V',5},{'W',6},{'X',7},
{'Y',8},{'Z',9}};
char pos[17]={8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2};
for(i=0;i<17;i++)
{
if(Vin[i]>='a'&&Vin[i]<='z')
{
temp = Vin[i]-0x20;
}
else if((Vin[i]>='A')&&(Vin[i]<='Z'))
{
temp = Vin[i];
}
else if((Vin[i]>='0')&&(Vin[i]<='9'))temp = Vin[i]-'0';
else return GD_ERR;
if((temp>='A')&&(temp<='Z'))
{
for(j=0;j<26;j++)
{
if(temp == jianquan[j][0])
temp = jianquan[j][1];
}
}
check += temp*pos[i];
}
*reslt = check%11;
return GD_OK;
}
void main(void)
{
char check = 0;
char* Vin="UU6JA69691D713820";
VinCalc(Vin,&check);
printf("校验位是:%d",check);
}
车辆VIN码的校验算法相关推荐
- python效验车辆VIN码小程序
文章目录 前言 一.VIN码的校验方法 二.程序实现 1.需要使用的库 2.完整代码 前言 关于车辆的VIN码简单的介绍:VIN是英文Vehicle Identification Number(车辆识 ...
- OCR目标识别(车辆VIN码识别效果)
先抱怨一句,识别真的比检测难很多呀,文字识别可根据待识别的文字特点采用不同的识别方法,一般分为定长文字.不定长文字两大类别. 定长文字: 定长字符识别中比较广泛的几个例子就是:MNIST识别,验证码识 ...
- python crc-16 crc-16校验码 crc-16校验算法 ppp(MAC)帧检验序列FCS
python crc-16 crc-16校验码 crc-16校验算法 ppp(MAC)帧检验序列FCS 想弄明白这里要看多几遍,配合下面的例子能更快理解. 第一.CRC-16校验码计算方法: 常用查表 ...
- VIN码含义及其算法
VIN(Vehicle identification number)车辆识别代码,它是一个由17位数字和字母组成的编码,是国际通用的汽车识别编码. ①检验位(第九位)是如何得来的? (1).VIN码共 ...
- 如何根据vin码查询_vin查配置 车辆VIN码查询车辆基本配置信息 知道车辆vin码怎么查配置...
使用车架号来查询车辆信息.可以通过车架号查询车辆的车牌号码. 提供17位VIN码(车架号)在线查询服务,可以查询汽车的厂家名称.品牌.车系.车型.车身形式.年款.排量.变速箱描述.变速器类型.发动 ...
- iOS 识别车辆vin码方法汇总,免费并且效果极佳识别速度极快OCR识别VIN码
这里搜集的识别方案全都是基于OCR识别应用字母和数字,然后提取VIN吗的方案,免费,效果极佳,速度极快.方案各有优劣,请酌情考虑. 先上效果图: 方案一: 下载地址:https://github.co ...
- VIN码识别技术加速汽车后市场服务速度
VIN码识别的应用 寒寒严冬,大雪已过,距离北方最冷的数九天也还有不到两个礼拜,做完一个哥们问我要车牌识别算法,说有项目需要算法,我简单了解后,按照他的具体需求给他免费测试.核心算法支持,等忙完后才想 ...
- VIN码识别又叫车架号识别,OCR技术深度应用
什么叫VIN码? VIN码又叫车架号也叫车辆识别代码,是制造厂为了识别而给一辆车指定的一组编号.由于VIN码的数字和英文字母是不断切换,共有十七个数字及字母组成的编码. 现在,通过自主研发的OCR技术 ...
- vin码识别已经诞生,还在傻乎乎手工录入吗?
VIN码/车架号码由17位字母和数字混合而成,从车辆VIN码/车架号码可以解析出非常多的信息,如车辆的生产厂家.年代.车型.车身型式及代码.发动机代码及组装地点等. 对于有车一族的朋友来说,日常接触比 ...
- VIN码识别(车架号识别)在二手车交易中的应用
最新数据统计,2015年,中国卖出2110万辆新车,相比之下,美国卖出去了1740辆新车.然而,如果算上二手车,美国的汽车市场销量将扩展到4000多辆,而中国的乘用车才不到3000万辆. 销售总额上, ...
最新文章
- codeforces364D
- 比特币早期投资家:没有人能够阻止其发展 TechWeb 09-27 09:10 凤凰科技讯 据CNBC网站北京时间9月27日报道,风险投资家、“Social+Capital”基金创始人Chamath
- 阿里云云监控agent插件 - Linux版
- MySQL Internals Manual
- run spark pi_Spark Run本地设计模式
- python爬虫抓取文本_Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例...
- 20150210--Smarty1-02
- Yii2.0修改默认控制器
- bzoj4869: [Shoi2017]相逢是问候(欧拉函数+线段树)
- SCAU 8628 相亲
- 启动开源项目 XDD
- Julia: reduce 、mapreduce、filter
- UG软件_NX1926中文版网盘下载链接+安装教程
- 积分大比拼,哪家银行信用卡积分最值钱?
- lucene 创建索引慢的问题
- iTween.MoveTo用法
- 砍价两种种算法(转载)
- word修订模式怎么彻底关闭_如何去掉word修订模式
- 【SSH框架】--Hibernate入门
- 关于 web service 参数传递的序列化反序列化问题
热门文章
- C#--解析DataMatrix二维码
- C# ZXing.net解码测试(QRCode、DataMatrix、1D-Barcode一维码条码)
- 从图灵奖小插曲看50年来什么样的人工智能最受追捧
- cad快看_星期日来啦!分享5个珍藏已久的电影网站,各种大片免费看
- Android和风SDK,Android 和风天气SDK获取天气
- 今年过年不送礼,送礼就送......
- UVALive - 4987 (dp+贪心)
- 莫明其妙的死机现象,莫明其妙的重启
- 挑战七大排序算法-03选择排序
- Iptables详解七层过滤