I know if I want to display a picture in the OLED, I need to change the picture into byte array. My question is that I saw many examples, the value inside the byte array is hexadecimals. Why the value is hexadecimals, not decimals? Another question is if a OLED has 128 X 64 resolution, it means there are 128 X 64 pixels in the OLED, but the above byte array, it seems that it hasn't 128 X 64 = 8192 numbers. I search it online, the OLED dived 128 columns and 8 pages for memory, is it means that each hexadecimals is 8 bit in each column?
Check out the "Loading images" section here:
Each bit in the hexadecimal value maps to a bit on the screen.
Because computers and microcontrollers actually work in binary, each binary bit having a specific meaning.
Hexadecimal - presumably you know what it is if you have come here - is a notation which conveniently encapsulates the binary, four bits at a time, being a practical "halfway" representation for human interpretation.