Python HDB3 AMI 编码与解码
1 # -*- coding: cp936 -*- 2 pre_n = '010010000100001100000000000000000000000001010001001001001010000101' 3 print '编码过程……………………' 4 length = len(pre_n) 5 pre_list = list(pre_n) 6 for ch in range (0,length): 7 pre_list[ch] = int (pre_list[ch]) 8 store_list = pre_list 9 print pre_list 10 ich = -1 ; 11 for ch in range (0,length): 12 if pre_list[ch] == 1 : 13 ich = ich * (-1) 14 pre_list[ch] = pre_list[ch]*ich; 15 print pre_list 16 pre_flag_num = 0; 17 flag_zero = 0; 18 for ch in range (0,length): 19 if pre_list[ch] <> 0 : 20 flag_num = pre_list[ch]; 21 flag_zero = 0; 22 else: 23 flag_zero += 1; 24 if flag_zero == 4 : 25 if flag_num == pre_flag_num : 26 pre_list[ch-3] = flag_num * -1; 27 pre_list[ch] = flag_num * -1; 28 pre_flag_num = flag_num * -1; 29 for ch_temp in range(ch+1,length): 30 pre_list[ch_temp] = pre_list[ch_temp] * -1 31 else: 32 pre_list[ch] = flag_num ; 33 pre_flag_num = pre_list[ch]; 34 flag_zero = 0; 35 print pre_list,'\n 解码过程………………' 36 flag_zero = 0; 37 for ch in range (0,length): 38 if flag_zero == 2 : 39 if flag_num == pre_list[ch]: 40 flag_zero = 0 41 for ch_temp in range(ch-3, ch+1): 42 pre_list[ch_temp] = 0; 43 if flag_zero == 3 : 44 if pre_list[ch] <> 0 : 45 flag_zero = 0; 46 for ch_temp in range(ch-3, ch+1): 47 pre_list[ch_temp] = 0; 48 if pre_list[ch] <> 0 : 49 flag_num = pre_list[ch] 50 flag_zero = 0; 51 else: 52 flag_zero += 1; 53 pre_list[ch] = abs(pre_list[ch]) 54 print pre_list 55 if pre_list is store_list: 56 print "Successed ..."
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库