函數 迅雷編碼(原文本 為 文本型) 為 文本型
變量 原文 為 字節型()
變量 余數 為 整數型
變量 三字節數據 為 字節型(3)
變量 碼表 為 字節型(64)
變量 len_x 為 整數型
變量 len_y 為 整數型
變量 i 為 整數型
變量 k 為 整數型
變量 結果 為 字節型()
變量 原文擴充 為 字節型(1)
變量 結果擴充 為 字節型(1)
'原文本 = "AA" & 原文本 & "ZZ"
原文 = 文本到字節(原文本 ,"GBK")
原文擴充(0) = 0
結果擴充(0) = 61
len_x = 取字節集長度 (原文)
余數 = len_x % 3
如果 (余數 = 1) 則
原文 = 合並字節集(原文 , 原文擴充)
原文 = 合並字節集(原文 , 原文擴充)
len_x = len_x + 2
否則如果 (余數 = 2) 則
原文 = 合並字節集(原文 , 原文擴充)
len_x = len_x + 1
結束 如果
len_y = len_x * 4 / 3
i = 1
碼表(0) = 65
碼表(1) = 66
碼表(2) = 67
碼表(3) = 68
碼表(4) = 69
碼表(5) = 70
碼表(6) = 71
碼表(7) = 72
碼表(8) = 73
碼表(9) = 74
碼表(10) = 75
碼表(11) = 76
碼表(12) = 77
碼表(13) = 78
碼表(14) = 79
碼表(15) = 80
碼表(16) = 81
碼表(17) = 82
碼表(18) = 83
碼表(19) = 84
碼表(20) = 85
碼表(21) = 86
碼表(22) = 87
碼表(23) = 88
碼表(24) = 89
碼表(25) = 90
碼表(26) = 97
碼表(27) = 98
碼表(28) = 99
碼表(29) = 100
碼表(30) = 101
碼表(31) = 102
碼表(32) = 103
碼表(33) = 104
碼表(34) = 105
碼表(35) = 106
碼表(36) = 107
碼表(37) = 108
碼表(38) = 109
碼表(39) = 110
碼表(40) = 111
碼表(41) = 112
碼表(42) = 113
碼表(43) = 114
碼表(44) = 115
碼表(45) = 116
碼表(46) = 117
碼表(47) = 118
碼表(48) = 119
碼表(49) = 120
碼表(50) = 121
碼表(51) = 122
碼表(52) = 48
碼表(53) = 49
碼表(54) = 50
碼表(55) = 51
碼表(56) = 52
碼表(57) = 53
碼表(58) = 54
碼表(59) = 55
碼表(60) = 56
碼表(61) = 57
碼表(62) = 43
碼表(63) = 47
三字節數據 (0) = 1
三字節數據 (1) = 2
三字節數據 (2) = 3
k = 0
判斷循環首 k < len_y
結果 = 合並字節集(結果 , 結果擴充)
k = k + 1
判斷循環尾
變量循環首 k = 1 至 len_x 步進 3
三字節數據 (1 - 1) = 原文 (k - 1)
三字節數據 (2 - 1) = 原文 (k + 1 - 1)
三字節數據 (3 - 1) = 原文 (k + 2 - 1)
結果 (i - 1) = 碼表 (位右移 (三字節數據 (1 - 1), 2) + 1 - 1)
結果 (i + 1 - 1) = 碼表 (位左移 (位與 (三字節數據 (1 - 1), 3), 4) + 位右移 (三字節數據 (2 - 1), 4) + 1 - 1)
結果 (i + 2 - 1) = 碼表 (位左移 (位與 (三字節數據 (2 - 1), 15), 2) + 位右移 (三字節數據 (3 - 1), 6) + 1 - 1)
結果 (i + 3 - 1) = 碼表 (位與 (三字節數據 (3 - 1), 63) + 1 - 1)
i = i + 4
變量循環尾
如果 (余數 = 1) 則
結果 (len_y - 1) = 61
結果 (len_y - 2) = 61
否則如果 (余數 = 2) 則
結果 (len_y - 1) = 61
結束 如果
'迅雷編碼 = "" & 字節到文本(結果 ,"GBK")
迅雷編碼 = 字節到文本(結果 ,"GBK")
結束 函數