Every bit of information you have ever received on digital media had been transmitted to you as binary values; ones and zeros. And almost all of it had traveled through cables at some point. But how exactly does complex data travel through cables as just ones and zeros? To find out, dig into the best answers from the internet posted below.
You know how when you touch a live wire you get shocked, but when there’s no electricity running through the wire you don’t get shocked?
Shocked=1. Not shocked=0.
Computers just do that really fast. There’s fancier ways of doing it using different voltages, light, etc., but that’s the basic idea.
1 = on and 0 = off.
To expand a little this is done with either light pulses (in the case of fiber optics) or electrical signals (in the case of copper core wires, like Ethernet cables).
At the beginning of each frame (chunks of data) there is a series of alternating signals (10101010101010) to establish a tact of how fast the signals come, so that the receiving end can establish whether two identical signals following one another (11 or 00) are actually two separate signals, rather than the same signal for a longer period of time.
Light pulses are sent through the reflective fiber optics cables, and the device reads the on/off as binary data.
In an electrical conductor you can do the same with low and high voltage like if you flip a switch and turn a lamp on and off.
In practice in faster protocols in electrical conductors you instead of on and off might have multiple levels to increase throughput. The levels might be negative and often you might send 10 bits on the wire for 8 bits of data in a way so the average is 0 so there is no DC current in the line.
It’s basically like a telegraph. The dots and dashes or 1s and 0s are translated into coded pulses of energy like electricity or light that move through the cables to be decoded by the recipient
You know when you throw a rock in a pond and waves expand outward? Turns out electricity+magnetism behave somewhat similarly. If you hit them with energy, they’ll wave, and the waves propagate outward.
Now imagine a very long, very narrow canal of water with a wave machine at one end and a guy observing waves coming out the mouth of the canal at the other. As you can imagine, there are lots of ways to change the wave machine, the fellow at the far-away mouth of the canal would be able to observe. Bigger vs. smaller waves (this is AM radio); faster vs. slower waves (this is FM radio).
If you want to make it “digital” (i.e. represent just 1s and 0s), you pick two states and only vary between those. If decide to go with fast vs. slow waves (this is called frequency-shift-keying aka FSK), the guy at the end of the canal watches waves and if they’re fast, he writes down a 1, if they’re slow he writes down a 0.
Now, what if he could faithfully differentiate between 4 different state rather than just 2 — say, slow, medium-slow, medium-fast, and fast? This would allow the wave machine to send him more information in the same amount of time. We just assign 2 bits to each state now — slow=00, medium-slow=01, medium-fast=10, fast=11.
What’s the limit on adding states? Well, if the wind is blowing, and it gets difficult to tell the difference between two speeds as they get closer together, we start getting read errors or “bit errors”. There’s also a physical upper limit on how fast the wave machine can move the water, and a lower limit on how slow it can go before the waves stop reaching the observer. So each state has to operate within this fixed window.
There’s lots of other tricks that come from complex (as in sqrt(-1)) math, to get more bits through the canal in a reliable way, but that’s the gist of it.