Networking
控制台上的 Cisco 預設字元編碼
問題
大多數 Cisco 設備在通過控制台進行通信時使用的預設字元編碼是什麼?
背景
我是一名軟體開發人員,正在編寫一個通過其控制台埠與多個 cisco 設備互動的應用程序(基本上,它執行 IOS 配置命令並響應某些回饋——如錯誤)。
我的軟體在 mac/windows/linux 下執行,每個作業系統都有自己的預設字元編碼系統。因此,當我向控制台發送字節以及從控制台接收字節時,我必須非常小心。如果我沒有指定正確的字元編碼,事情就會以古怪的方式出現。就像我在發送命令後“按輸入”一樣,在某些系統上,它會“按輸入”兩次,而不是一次!或者,當我接收數據並嘗試理解它時,程序會因不正確的字節/字元轉換而感到困惑。
概括
如果我打開一個新的(或新重置的)Cisco 3845 或 2955 並通過控制台連接並來回發送數據/字節/字元…
…預設情況下設備將使用什麼編碼。我懷疑它是UTF-8。
如果它是美國設備,我想我可以肯定地說它只是使用 ASCII 作為其普通文本。它可能不會執行任何類型的字元集檢查,因此使用者定義的名稱可以是任何字元集,只要單個字節就設備而言是有效的。如果您從串列連接接收到亂碼,則埠配置不正確。當我年輕並且實際經常使用串列埠時,我有時可以辨識出這種亂碼並確定哪個設置是錯誤的。
至於輸入鍵的問題,無論您是從 windows(換行符是
\r\n
)還是 unix (\n
) 或 mac (\r
) 連接,設備都將使用相同的字元作為“enter”,選擇一個正確的並且它應該始終工作。根據您的連接方式(直接連接到串列埠設備或控制終端應用程序?)可能存在諸如“本地回顯”之類的設置,導致終端應用程序將您鍵入的內容列印在螢幕上(大多數齒輪迴顯為您提供文本,因此打開本地回顯將導致所有字母重複)