
一美人同学说:号最后一位能看出男女。我冒充knowledgeable,好好上了一课。后一寻思,何不痛快地卖弄一把,整理篇短文,普及一下呢?悄悄告诉您,得瑟的体系内容,源自一份标准:GB 11643:公民身份号码,现在的版本是1999版。
大致原则
现行公民身份号,18位,是形态组合码,由17位数字本体码和1位校验码组成。排列次序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
1.地址码
表示编码对象常住户籍所在县(市、旗、区)的行政区划代码,按GB/T 2260的规定执行。
2.出生日期码
表示编码对象出生的年、月、日,按GB/T 7408的规定执行,年、月、日源码之间不用分隔符。

3.顺序码
表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号。
4.校验码
按照后面十七位数字码,根据ISO 7064:1983.MOD 11-2校验码计算出来的检验码。
地址码
前两位代码是如此的:
1字头的为华北,北京11、天津12、河北13、山西14、内蒙15

2字头的为东北,辽宁21、吉林22、内蒙古23
3字头的为华东,上海31、江苏32、浙江33、安徽34、福建35、江西36、山东37
很多朋友会觉得,福建是华南、山东是华北的。遗憾的是,真不是。不过,商业活动中,部门或人员的分工生分证号码的制定,所以根据地域,什么区分均可呀,不用遵循此标准。
4字头的为华中、华南(也可以齐名为中南),河南41、湖北42、湖南43、广东44、广西45、海南46
5字头的为西南,重庆50、四川51、贵州52、云南53、西藏54(重庆以后也有51,被强化为直辖市后变为50)
6字头的为西北,陕西61、甘肃62、青海63、宁夏64、新疆65
因为你身边的TA说TA的号是7字头的,那就有趣了。

第三、四位表示市(地级市、自治州、盟及国家直辖市所属市辖区和县的汇总码)。其中,所以是01-20、51-70表示省直辖市;如果是21-50表示地区(自治州、盟)。
第五、六位表示县(市辖区、县级市、旗)。如果是01-18表示市辖区或地区(自治州、盟)辖县级市;如果是21-80表示县(旗);如果是81-99表示省直辖县级市。
前六位编码,往往和国家统计局公布的行政区划代码是一致的:。当然,由于行政区划的调整,这个源码会变的。但早已办出去的号就不好变了。
吐槽一点的是生分证号码的制定,“市”在中国众多种,省部级的直辖市、副省级城市(15个,沈阳、大连、长春、哈尔滨、南京、杭州、青岛、济南、宁波、厦门、武汉、成都、西安、广州、深圳,其中青岛、大连、宁波、厦门、深圳是计划单列市,这些的都是省会城市)、地级市、副地级城市、县级市,据说应该就会出现副县级市。有趣的一个细节是,除了厦门,这些4个副县级省会相应的城市城市作为副省级,为此福州人民认为不爽很多年,不知道这是否影响福州领导去厦门进行同行交流?
出生日期码
这好像没怎么可以说的,就是八位数字。不过,很久以前,身份号还是15位时,这段是六位。“千年虫”听说过吗?这个玩意暴露年纪。
顺序码

表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的偶数分配给女性,奇偶分配给女人。 所以,号可以看出男女不假,不是最后一位,是倒数第二位!
校验码
按照后面十七位数字码,根据ISO 7064:1983.MOD 11-2校验码计算出来的检验码。这个有繁杂的方法呀公式呀怎么的,但也可以简单地计算的,四步搞定:
第一步:将号前17位的数字分别减去系数,得出17个新的数字。前17位对应的系数分别是:7 、9 、10 、5 、8 、4 、2 、1 、6、 3、 7 、9 、10 、5、 8 、4 、2 ;
第二步:将这17个数字乘以得出一个和;
第三步:用这个和乘以11,得出一个余数;
第四步:凭这个算式按照上面对应表,寻找对应的校验码即可:
注意:最后一位是X的朋友,没有什么特别的,只是因为对应的除法是“2”,呵呵。这里其实对应的校验码是10,但为了确保号是18位,改用X表示而已。
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-118535-1.html
一个月3g分两个月送吗