2011-04-29 130 views
0

我想寫兩個簡單的工具:如何實現二進制到ASCII轉換? (反之亦然)

  1. 接收二進制文件,並將其轉換爲文本文件(ASCII格式)。
  2. 接收上述文件格式的文本文件並恢復原始二進制文件。

我需要這個的原因是非常愚蠢的,但仍然是一個原因。我有兩臺電腦 - 一臺上網,另一臺沒有。我在沒有互聯網的軟件上編寫軟件。我收到第二封電子郵件。我需要將二進制文件從一個傳輸到另一個(例如罐子),但它們之間的唯一通信是剪貼板(僅限文本)。

可能是一個非常本地化的問題 - 但我認爲它在數據加密/壓縮/網絡傳輸領域有一些解決方案。

我能想出的唯一辦法是檢查二進制文件並將每個字節轉換爲十六進制表示 - 因此對於每個字節,我將得到兩個ASCII字符(即兩個字節)。有更好的嗎? (該解決方案一倍信息的數量和可能無法通過剪貼板轉移)

一個限制 - 我需要它作爲一個基於Java的解決方案(我想把它寫我自己)

+1

爲了什麼罪女巫已經癱瘓你的設置是這樣的? o_O – 2011-04-29 18:26:56

+0

全公司範圍內的政策 - 我只是作爲員工的責任去尋找後門...... – RonK 2011-04-29 18:28:05

+0

此剪貼板是什麼樣子的?如果它通過某種網絡,如果你劫持了這個連接,它可能會更好。 – corsiKa 2011-04-29 18:32:27

回答

1

谷歌爲Base64編碼,並使用Apache公共編解碼器來準備使用實現。

+0

你可以請添加一些更多的細節? 「Google for Base64」是什麼意思? – RonK 2011-04-29 18:37:52

+0

您正在閱讀二進制文件並使用base64進行編碼。這將base64文件的所有內容編碼爲文本(值爲64個不同的字符)。這是可複製的。另一方面,base64將其解碼爲二進制。 – nojo 2011-04-29 19:22:57

+0

@Ronk:致Google:使用網絡瀏覽器並使用Google搜索某物的行爲。 Base64是一種用ASCII編碼二進制數據的方法。需要4個字符來編碼3個字節的二進制數據,這比Hex編碼更有效。 Apache commons編解碼器具有這種編碼/解碼算法的實現。 – 2011-04-29 21:19:46

相關問題