256转64算法 ( 积分: 200 )

  • 主题发起人 主题发起人 狼崖山
  • 开始时间 开始时间

狼崖山

Unregistered / Unconfirmed
GUEST, unregistred user!
256转64算法
详细文字信息(即将一个字节256用64进制表示,故4个字节可表示出3个(00-0xFF)标准16进制字节,例:刘A—— 0xC1 0xF5 0x41 换算成64进制为:48 31 21 01;

具体算法:例:刘A—— 0xC1 0xF5 0x41(1100 0001 1111 0101 0100 0001)从高位开始依次取6位,不足后面补零:110000 011111 010101 000001,再在其高位补0后可得30 1F 15 01 直接转换成十进制48 31 21 01后从下面的函数中取出对应的值即可
CHANG_256_64[64]={'0','1','2','3','4','5','6','7','8','9',':',';','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
30 1F 15 01分别对应: k T J 1;

例2:1——0x31 从高位开始依次取6位,不足后面补零:001100 010000,再在其高位补0后可得 0x0C 0x10转换成十进制 12 16 从上面的表中取出对应的值 A E

64 转256 反之,即先从上面的函数中找出对应字符的位置,并转换成16进制,然后把每个字节的高两位的0去掉,再把他们合在一起,从高往低8位8位的取,有剩余且不足8位的直接去掉。
 
麻烦帮帮忙写这两个函数:
1.256转64
2.64转256
 
有那位同仁做过的·?
 
我编有一个,高速转换,效率很高。不知你想要否
 
方便的话可以发出来啊~~或者邮箱 bmx88@163.com
 
你那个好像是BASE64,
有现成的吧
我的是将一个字节转为两位的十六进制,如A7,B0,6F之类。转换速度很快
但空间占用大一点。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
I
回复
0
查看
619
import
I
后退
顶部