Vim 十六進製制編輯

2021-08-27 10:47:08 字數 933 閱讀 8408

開始十六進製制編輯

要在 vim 中開始十六進製制編輯,可通過如下命令

:e ++bin ++enc=ansi | %!xxd -g1

:set ft=xxd

「|」是 vim 多個命令的分隔符,這實際上是三個命令。

其中最關鍵的命令是

%!xxd -g1
它是對當前編輯的檔案呼叫命令「xxd -g1」然後編輯該命令的輸出,需要注意的是被編輯的檔案沒有變,如果此時儲存的話,將會這些十六進製制資訊對應的文字替換原檔案。

「xxd -g1」的作用是以單個位元組為單位按十六進製制方式列出檔案內容。

再看第一條命令:

e ++bin ++enc=ansi

第三條命令:

set ft=xxd
的作用是切換語法型別為 xxd,以重新整理語法高亮。如果未執行該命令,語法高亮還會按照之前的檔案型別,可能看起來會是混亂的。

結束十六進製制編輯

上文提到了,再開始十六進製制編輯之後若儲存的話將會以十六進製制文字替換原檔案。如果要想儲存十六進製制編輯的變更需要還原為原始的二進位制,命令為:

%!xxd -r
即對當前檔案呼叫命令「xxd -r」,其作用就是將十六進製制資訊還原。

插入/刪除

vim 通過上述方式呼叫外部命令「xxd」方式實現的十六進製制編輯,不適合有插入/刪除操作的編輯,通常只適用於唯讀檢視或者覆蓋式編輯。

如果需要插入/刪除操作,可調整下開始/結束編輯命令分別用:

:e ++bin ++enc=ansi | %!xxd -i

:set ft=c

:%!xxd -r -p
這樣其格式跟傳統的十六進製制編輯工具格式不大一樣,但便於插入/刪除操作。

Excel輸入十六進製制數,以及十六進製制運算

網上覆制來複製去的連個靠譜答案都沒有.f k 所以無奈自己探索出來了 單元格 a1文字值 a2進製值 輸入內容 fefe oct2hex hex2oct a29 由於單元格沒有提供進製格式,所以填入的值實際上是文字值,但是轉換函式卻可以把文字值視為進製值拿去轉換 所以我們兩次轉換就能得到真正的進製數...

進製轉換 十六進製制轉八進位制 十六進製制轉十進位制

在十六進製制轉為八進位制的過程中包含了將十六進製制轉化為二進位制以及將二進位制轉化為八進位制!我自己測試是沒什麼問題,但是在藍橋杯官網的測試系統就顯示執行錯誤qwq 不知道為什麼 附 include includeusing namespace std int main if len2 i 3 2 ...

十六進製制位元組 十六進製制轉二進位制

做專案也將近一年的時間了。從一開始就經常提到 乙個十六進製制位元組 然而一開始就是迷惑的,直到現在。乙個十六進製制位元組,比如 ff。周圍的人經常說這是乙個十六進製制位元組。然後我就想,這不是兩個字元嗎,分別是f 和f,乙個字元是乙個位元組,兩個字元是兩個位元組,怎麼就成乙個十六進製制位元組,就成乙...