如何将12位手机号转换为6字节数组BCD码?

将一个12位的手机号(11位手机号前补0,如013482339442),转换12个为8421码,然后组合成6字节数组,暂命名为BCD6,转换方法如下:

using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Text;

namespace  ConsoleDemo
{
    
public   class  BCD6
    {
        
public   string  GetMobileNo( byte [] mobileArray)
        {
            StringBuilder sb 
=   new  StringBuilder();
            
for  ( int  i  =   0 ; i  <   6 ; i ++ )
            { 
                
byte  bb = mobileArray[i];
                sb.Append(((
byte )(bb  >>   4 )).ToString());
                sb.Append(((
byte )(( byte )(bb  <<   4 >>   4 )).ToString());
            }
            
return  sb.ToString();
        }

        
public   byte [] ConvertToBCD6( string  mobileNo)
        { 
            
byte [] mobileArray = new   byte [ 6 ];
            
if  (mobileNo.Length  !=   12 return  mobileArray;
            
for  ( int  i  =   0 ; i  <   6 ; i ++ )
            {
                mobileArray[i] 
=  Convert.ToByte(mobileNo.Substring(i * 2 2 ),  16 );
            }
            
return  mobileArray;
        }
    }
}

 控制台测试代码:

 

using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Text;

namespace  ConsoleDemo
{
    
class  Program
    {
        
static   void  Main( string [] args)
        {

            
byte [] mobileArray  =   new   byte [ 6 ] {  0x01 0x34 0x82 0x33 0x94 0x42  };
            BCD6 bcd6 
=   new  BCD6();
            Console.WriteLine(bcd6.GetMobileNo(mobileArray));

            
byte [] mobile2  =  bcd6.ConvertToBCD6( " 013482339442 " );
            Console.WriteLine(bcd6.GetMobileNo(mobile2));

            Console.Read();
        }
    }
}

转载于:https://www.cnblogs.com/windthunder/archive/2011/09/06/2169269.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值