簡體   English   中英

如何將文件中所有使用過的ASCII字符帶入字典/數組/列表,並為每個字符分配一個值?

[英]How can I bring all the used ASCII characters of a file into a dictionary/array/list and assign each character a value?

我基本上想讀取一個文件(可以是mp3文件或其他文件)。 掃描文件以查找文件中所有已使用的ASCII字符,並將它們放入字典,數組或列表中。 然后從那里為每個字符分配一個數字值。

例如:

假設我加載了blabla.mp3文件(很顯然,這種類型的文件已經過編碼,因此它不會只是純英文字符。)

這是它的內容:

╤dúúúH»╓╒:φººMQ╤╤╤╤┤i↔↔←GGGΦ⌠i←E ::2E┤tti←╙╤ΦΦ⌠⌠·:::::%Fæ╤╤:6Å⌠tSN│èëåDD╢╢ÄÄÄÄÄÄÄÄÄÄÅO ^↔::: ..ÄÄÄÄÄÄÄèHΦΦ■ï»ó⌐╙-↔→E┤tttttttt}▲î╤╤dì“Ü:: :)ú$ tm!º╤╓q╤╙·:.ñÇ°”V├╡ ΦPa↨/úúúúúúΦ╞îHΦ║*ÄèúóΦΦΦΦ»DΦΦ·tΘ○_Nïúkî►“DëÜ)#ú»→·:4Äïúúúúúúó¿ m→GF╘±“¿ΦñïúúúóΦò↨FæTtt╓ìú⌠ΦΦΦΦzz ::: = :::::≥E╤╤╤╤╤╤╤Tm↔↔▬Hªèi⌠ztz::: tt

我想弄清楚正在使用什么字符,並為每個字符分配一個0到255之間的值,並且每個值對於該字符都是唯一的。

╤= 0; Φ= 56; ú= 25等,等等

現在,我一直在搜索python和java文檔,但不確定我是否知道要搜索的內容。 而且我不知道我是否應該擔心ASCII字符或十六進制或文件的原始字節。

我只需要有人指出我正確的方向。 有什么幫助嗎?

每個字節都是 0到255之間的數字。包含這些數字的數組恰好是包含文件內容的數組。 對於這個數組(或字典等),我不太清楚您想做什么,但是使之變得容易。

您讀入的每個字節已經是0到255之間的值(因此是一個字節)。 您有不能僅僅使用它的原因嗎?

我不清楚您要完成什么。 您可以創建一個長度為256的char數組。每個條目都存儲要與該索引關聯的字符。 如果您想采用其他方法,則建議使用HashMap<Character, Integer> 您可以像這樣處理每個新字符:

Map<Character, Integer> map = new HashMap<Character, Integer>();
for (each character c in the file) {
    Integer code = map.get(c);
    if (code == null) {
        // new character
        code = map.size();
        map.put(c, code); // assign next number
    }
    // use code as the encoding for c
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM