将一个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 != 12return mobileArray;
            
for (int i = 0; i < 6; i++)
            {
                mobileArray[i] 
= Convert.ToByte(mobileNo.Substring(i*22), 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] { 0x010x340x820x330x940x42 };
            BCD6 bcd6 
= new BCD6();
            Console.WriteLine(bcd6.GetMobileNo(mobileArray));

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

            Console.Read();
        }
    }
}

相关文章:

  • 2021-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-01
  • 2022-12-23
猜你喜欢
  • 2021-11-11
  • 2021-11-27
  • 2022-01-11
  • 2022-02-14
  • 2022-12-23
  • 2021-10-17
  • 2021-12-10
相关资源
相似解决方案