@Kayaker you're close. Photons that strike the pixel create electrons - but only a few. I then have an amplifier circuit that amplifies the number of electrons by some multiplier. That's the gain. I accumulate these electrons in something called a charge well (think capacitor). The more electrons the higher the voltage (as opposed to current that you mentioned).

Now, I've got a voltage and I need to convert that to a digital number. For this we use an A/D -> Analog-to-Digital converter. Basically an A/D simply represents voltages as steps from a minimum to a maximum. If I had a 4 bit (16 different values) A/D ranged from 5V to 6V I would read 0000 at 5V and 1111 at 6V and 1000 at 5.5V, etc.

I have absolutely no idea what the actual range of voltages used in the Canons but I do know my camera has a 14-bit A/D. That is, in theory, there are 16,384 values from the lowest voltage to the highest voltage that it can represent. The last digit in the number represents the "Least Significant Bit" (LSB). In other words, the voltage change that corresponds to changing the output by a count of 1 is the smallest voltage change we can record. However, the amount of noise in the signal is generally of the order of the LSB or higher. In such a case were I to simply truncate all my numbers and treat the last number as 0 there would be no noticeable change in the result.

In low-light conditions none of the sensors are going to have a very large voltage on them. In such a situation the first several digits of every pixel will be zero. I suspect that by pushing the raw they're saying that instead of leading with a bunch of zeros the lower digits are pushed left - and the numbers are padded with 0's at the right end (like representing 4, 5 and 8 as 400, 500, and 800 - all the ratios are the same). Doing so means that a bunch of information is all 0's and doesn't really need to be written. If I know that the last 7 digits of every value are 0 I should just be able to make a note of that and only record the 7 useful digits from each pixel.

However, I suspect that the complexity of changing the file format for the built-in JPEG preview maker and the part of the code that writes to the card would become overly complex or else we'd have seen that.