How are IPv4 addresses represented inside IPv6 (IPv4-mapped/embedded addresses)?
An IPv6 address can embed an IPv4 address in its last 32 bits. The form you actually meet — the IPv4-mapped address ::ffff:a.b.c.d shown below — has 80 zero bits, then 16 one-bits (ffff), then the 32-bit IPv4 address.
* Structure of an IPv4-mapped IPv6 address. — Michel Bakni, CC BY-SA 4.0, via Wikimedia Commons. *
This is the bridge that lets IPv6 software handle IPv4 endpoints with a single address type. With 96 leading zero bits, the remaining 32 bits hold a normal IPv4 address, e.g. written as ::192.168.1.5 (the old "IPv4-compatible" form, now deprecated).
In practice the form you most often meet is the IPv4-mapped address ::ffff:192.168.1.5: the first 80 bits are zero, bits 81–96 are set to ffff, and the last 32 bits hold the IPv4 address. It is what an OS shows when an IPv4 client connects to a dual-stack (IPv6) socket.
Tip: When you see a long string of zeros followed by something that looks like dotted-decimal, you're looking at IPv4 wrapped inside IPv6.
Go deeper:
IPv6 address — Transition from IPv4 (Wikipedia) — the ::ffff:0:0/96 mapped form and the deprecated IPv4-compatible form.