0
可以說我有一個6個數字的發佈列表21992 23523 27822 28002 31010 33122.將它們轉換爲可變字節編碼的過程是什麼?如何計算髮佈列表的可變字節編碼?
可以說我有一個6個數字的發佈列表21992 23523 27822 28002 31010 33122.將它們轉換爲可變字節編碼的過程是什麼?如何計算髮佈列表的可變字節編碼?
void encode(int value, char* code_list, int& len) {
int bit_value = 0;
int bit_num = 0;
if (value < 128) {
bit_num = 1;
} else if (value < 16384) {
bit_num = 2;
bit_value = 1;
} else if (value < 2097152) {
bit_num = 3;
bit_value = 3;
} else {
bit_num = 4;
bit_value = 7;
}
value <<= bit_num;
value += bit_value;
memcpy(code_list + len, (char*) &value, bit_num);
len += bit_num;
}
你是什麼意思的「可變字節編碼」?你的意思是可變長整數編碼?你只是指二進制編碼? –