One of the efforts in radare is the way to show the information to the user. This is interpreting the bytes and giving an almost readable output format.
The bytes can be represented as integers, shorts, longs, floats, timestamps, hexpair strings, or things more complex like C structures, disassembly, decompilations, external processors, ..
This is a list of the available print modes listable with 'p?':
[0x08049AD0]> p?
Available formats:
p% : print scrollbar of seek (null)
p= : print line bars for each byte (null)
pa : ascii (null)
pA : ascii printable (null)
pb : binary N bytes
pB : LSB Stego analysis N bytes
pc : C format N bytes
pd : disassembly N opcodes bsize bytes
pD : asm.arch disassembler bsize bytes
pe : double 8 bytes
pF : windows filetime 8 bytes
pf : float 4 bytes
pi : integer 4 bytes
pl : long 4 bytes
pL : long (ll for long long) 4/8 bytes
pm : print memory structure 0xHHHH
pC : comment information string
po : octal dump N bytes
pO : Overview (zoom.type) entire file
pp : cmd.prompt (null)
pr : raw ascii (null)
pR : reference (null)
ps : asm shellcode (null)
pt : unix timestamp 4 bytes
pT : dos timestamp 4 bytes
pu : URL encoding (null)
pU : executes cmd.user (null)
pv : executes cmd.vprompt (null)
p1 : p1: 1byte, 8 bit hex pair 1 byte
p2 : p2: 2bytes, 16 bit hex word 2 bytes
p4 : p4: 4bytes, 32 bit hex dword 4 bytes
p6 : p6: base64 encode (p9 to decode) entire block
p7 : 7bit encoding (sms) (null)
p8 : p8: 8bytes, 64 bit quad-word 8 bytes
p9 : p9: base64 decode (p6 to encode) entire block
px : hexadecimal dump N byte
pX : hexpairs N byte
pz : ascii null terminated (null)
pZ : wide ascii null end (null)