2014-10-30 2 views
0

прежде всего извините за мой английский !! :)Java-конвертация между шестнадцатеричными, символами, цифрами

Я работаю над попыткой конвертировать файл ascii, который содержит символы и цифры в двоичный файл!

проблема: если у меня в моем файле ascii символ «B» в шестнадцатеричном формате будет 42, и если у меня в моем файле ascii число 66 в шестнадцатеричном, это также будет 42!

SO Как я могу узнать разницу между значением 42 в шестнадцатеричном формате, это относится к букве B или числу 66 ???

PS: Я работаю в JAVA.

Любая помощь будет оценена положительно! Thx много

+1

Вы должны знать, какое значение вы читаете? Если его шестнадцатеричный, тогда ваш должен считать его шестнадцатеричным, если он десятичен, тогда считайте его десятичным! PS один из них находится в гекса, а другой - десятичный. – StackFlowed

ответ

0

Как вы упомянули, это файл ASCII. ASCII сопоставляет двоичные «вещи» персонажу.

Как упоминалось правильно HEX ASCII код для B составляет 42

HEX ASCII код для 6 Поэтому 36. 66 приведет к 3636

Строка B66BB приведет 4236364242. Каждый блок из двух (!) шестнадцатеричные цифры представляют один (!) символ.

Смотрите эту таблицу преобразования: http://www.asciitable.com/index/asciifull.gif

EDIT: ASCII не знает Decimals. Преобразование 66 (dec) в 42 (hex) неверно. В терминах ASCII 66 в два раза больше символа 6, а не числа.

1

Я работаю над попыткой конвертировать файл ascii, который содержит символы и цифры в двоичный файл!

Нет такой вещи как двоичный файл. Когда люди говорят «бинарный файл», о чем они действительно говорят, это любой файл, который вы не хотите открывать в каком-либо текстовом редакторе. Они говорят о любом файле формате, который представляет собой не просто представление текста свободной формы. Ключевым словом является «формат».

Формат файла - это спецификация того, какую информацию может представлять файл (например, изображения, звуки, уличные адреса и т. Д.) И то, как они представлены (то есть, как программа читает файл и декодирует Информация).

Что означает «B», когда оно появляется в вашем файле ASCII? Что означает «66»? Как эти значения должны быть закодированы в «двоичном» файле, который вы хотите создать? Что будет читать этот «двоичный» файл?

Если вы не можете ответить на эти вопросы, то на самом деле у вас пока еще не проблема.

Смежные вопросы