hex file


Spanish (Barcelona, Spain)
I need your help regarding the translation of 'hex file'.
The sentence is the following: 'Open VeriFire Tools and load the hex file'.

Thanks!!!!!!!!!!!!!!!!(I am totally lost):(
  • zumac

    Senior Member
    USA: English & Spanish
    To me, a hex file implies that the data is represented in hexadecimal notation, that is, with individual characters in the range of 0 to F. For example, an individual value of decimal 15 would appear on the hex file as an "F" and not as 15.



    Senior Member
    Português-BR/English-US bilingual
    This much is correct:
    hex is short for hexadecimal
    Alas, the rest is not. In this context, "hex" refers to a way to display a file, rather than a way to encode data. It also implies that the file may not contain simply text, i.e., alphanumeric, punctuation and other characters humans can read.

    The next one assumes que the so-called hex file is a text file
    To me, a hex file implies that the data is represented in hexadecimal notation, that is...
    Most likely it is not a text file.

    Generally speaking, text data is encoded using a certain convention (such as ASCII)(*) which assigns codes (numbers) to letters and other characters, so they can be stored inside digital computer files. For example, in the ASCII convention, the uppercase A corresponds to the number 65. Other data (numerical, logical, and a host of other possibilities) are coded using a variety of other schemes, some well-known, some proprietary.
    The smallest unit of digital information is a bit (from binary digit), which can hold either of two values. Calling them 1 and 0 turns out to be the most useful convention. Because that range is so small, it became the practice, for the last 40 years or so, to group these bits in eights. The word byte is used to denote such an eight-bit group and, by extension, the number there stored (256 possibilities, 0 through 255, since 2 to the eighth power is 256)
    The ASCII code uses one byte for each coded element (besides alphanumeric and punctuation there are a number of special control characters). It turns out that hexadecimal notation is very suitable for byte representation, and its use became practically universal (English digression: its, no apostrophe, is the possessive, it's means it is).
    Hexadecimal representation of numbers uses sixteen (Greek roots hex-6 plus dec-10 to indicate sixteen) digits, instead of the familiar ten Arabic numerals 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9. Since the people who formalized it were not disciples of the Marquis de Sade ;), they started with the already familiar decimal digits, and added the first six letters of the roman alphabet, so the digits are (thanks, copy-and-paste) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, and F.

    The expression "hex file" makes as much sense as "binary file" that is, no sense at all. [I want to say that the word binary is the most misused in computing, but I can't be sure, such is the volume of misused words in this field.:warn:] A digital computer file contains whatever its creator wanted to store in it; that may not be text, or it may contain text plus other codes (e.g., formatting instructions). Since all the data is stored as a sequence of bits (in whatever media is being used) it is always possible to write out or print out its contents as a sequence of 0s and 1s, and this sequence may be sliced and diced as desired to produce the binary representation of one or more numbers. To illustrate, here is one such printout:


    Now this is becoming too long (40 digits to represent just 5 positions) and hard to read. I beg your indulgence to switch to hex, so we may see, say, 10 bytes without having to wrap the line; for convenience, I inserted separation spaces between bytes:

    0D 0A 0D 0A 31 34 20 4A 61 6E

    As it happens (or rather, as I have contrived) the contents of above file are be readable as text, reproduced here exactly after this marker ->

    14 Jan

    To be clear, the last byte of the file is the lowercase n in Jan. Let's walk through it together: the two-byte sequence 0D0A is the most common way to code a newline, or line skip. We need one to go from my marker to the blank line, and a second one to go down to where "14" is. Next, note that the character 1 is represented by 31, and the character 4 by 34 so 3134 represents the character string "14", for humans to read and, if they speak English, think of the word "fourteen". By contrast, the number with hexadecimal representation 34 corresponds to the number we all know as 52 or, better said, the number which has the decimal representation 52.

    There is no such thing as a "binary number". A number is a number, period. Think about it:
    52, LII, fifty-two, cincuenta y dos, 34, 11000100110100
    are all representations (decimal, Roman numerals, English, Spanish, hexadecimal, and binary) of the same number (say, weeks in one year?). Now fifty-two is no more a binary number than it is a Spanish number or a hexadecimal number. This same number has different representations.

    By the same token, hex (or binary) file is a misnomer for a file, of which one doesn't know whetre it can be decoded (made understandable) using a simple text editor, such as Windows Notepad, maybe because its contents were not meant to represent actual text characters, or maybe it contains text interspersed with extra stuff. Hence, one uses a hex editor to make sure that one can see the exact contents, or as we learned in TV court dramas, the truth, the whole truth, and nothing but the truth.

    So, after all, what is a hex file?
    Answer: there is no such thing. When one uses that expression, one indicates that the file in question may contain more than just text, and needs to be examined bit-by-bit (or, more efficiently, byte-by-byte).

    And the translation?
    Abrir VeriFire Tools para cargar el archivo en modo hex
    Usar VeriFire Tools para abrir el archivo en modo hex
    Sorry about the length, but the amount of confusion about the topic is such that I thought a detailed explanation was in order. (Y me sale más fácil en inglés :D)


    (*) The ASCII coding scheme is in the process of being replaced by the 2-byte UNICODE convention, which provides a range from 0 to 65535 (total 2 to the 16th power: 65536), but this is another topic...
    Last edited:

    Zap Brannigan

    Senior Member
    Argentina, español
    Impresionante la explicación, coolbrowne, pero permitime disentir con tu traducción. Yo diría:

    Abrir/Ejecutar VeriFire Tools (o Herramientas VeriFire) para cargar el archivo en modo hexadecimal (o hexa, no hex)