UTF-32 BE vs UTF-8

UTF-32 BE

Unicode

Fixed-width encoding using 4 bytes per character. Big-endian byte order. Rarely used in practice.

UTF-32BE
4–4 bytes
00 00 FE FF
2003

UTF-8

Unicode

The dominant encoding for the web. Variable-width (1–4 bytes). Fully backwards-compatible with ASCII. The default encoding for HTML5, JSON, and most modern protocols.

UTF-8
1–4 bytes
EF BB BF
1993

Both UTF-32 BE and UTF-8 are Unicode encodings — they represent the same 138,571 characters. The difference is in how the bytes are arranged. The table below shows how the first 128 codepoints (the ASCII range) are encoded in each.

ASCII Range (U+0000–U+007F)

Char Codepoint UTF-32 BE UTF-8 Same?
U+0000 00 00 00 00 00
U+0001 00 00 00 01 01
U+0002 00 00 00 02 02
U+0003 00 00 00 03 03
U+0004 00 00 00 04 04
U+0005 00 00 00 05 05
U+0006 00 00 00 06 06
U+0007 00 00 00 07 07
U+0008 00 00 00 08 08
U+0009 00 00 00 09 09
U+000A 00 00 00 0A 0A
U+000B 00 00 00 0B 0B
U+000C 00 00 00 0C 0C
U+000D 00 00 00 0D 0D
U+000E 00 00 00 0E 0E
U+000F 00 00 00 0F 0F
U+0010 00 00 00 10 10
U+0011 00 00 00 11 11
U+0012 00 00 00 12 12
U+0013 00 00 00 13 13
U+0014 00 00 00 14 14
U+0015 00 00 00 15 15
U+0016 00 00 00 16 16
U+0017 00 00 00 17 17
U+0018 00 00 00 18 18
U+0019 00 00 00 19 19
U+001A 00 00 00 1A 1A
U+001B 00 00 00 1B 1B
U+001C 00 00 00 1C 1C
U+001D 00 00 00 1D 1D
U+001E 00 00 00 1E 1E
U+001F 00 00 00 1F 1F
U+0020 00 00 00 20 20
! U+0021 00 00 00 21 21
" U+0022 00 00 00 22 22
# U+0023 00 00 00 23 23
$ U+0024 00 00 00 24 24
% U+0025 00 00 00 25 25
& U+0026 00 00 00 26 26
' U+0027 00 00 00 27 27
( U+0028 00 00 00 28 28
) U+0029 00 00 00 29 29
* U+002A 00 00 00 2A 2A
+ U+002B 00 00 00 2B 2B
, U+002C 00 00 00 2C 2C
- U+002D 00 00 00 2D 2D
. U+002E 00 00 00 2E 2E
/ U+002F 00 00 00 2F 2F
0 U+0030 00 00 00 30 30
1 U+0031 00 00 00 31 31
2 U+0032 00 00 00 32 32
3 U+0033 00 00 00 33 33
4 U+0034 00 00 00 34 34
5 U+0035 00 00 00 35 35
6 U+0036 00 00 00 36 36
7 U+0037 00 00 00 37 37
8 U+0038 00 00 00 38 38
9 U+0039 00 00 00 39 39
: U+003A 00 00 00 3A 3A
; U+003B 00 00 00 3B 3B
< U+003C 00 00 00 3C 3C
= U+003D 00 00 00 3D 3D
> U+003E 00 00 00 3E 3E
? U+003F 00 00 00 3F 3F
@ U+0040 00 00 00 40 40
A U+0041 00 00 00 41 41
B U+0042 00 00 00 42 42
C U+0043 00 00 00 43 43
D U+0044 00 00 00 44 44
E U+0045 00 00 00 45 45
F U+0046 00 00 00 46 46
G U+0047 00 00 00 47 47
H U+0048 00 00 00 48 48
I U+0049 00 00 00 49 49
J U+004A 00 00 00 4A 4A
K U+004B 00 00 00 4B 4B
L U+004C 00 00 00 4C 4C
M U+004D 00 00 00 4D 4D
N U+004E 00 00 00 4E 4E
O U+004F 00 00 00 4F 4F
P U+0050 00 00 00 50 50
Q U+0051 00 00 00 51 51
R U+0052 00 00 00 52 52
S U+0053 00 00 00 53 53
T U+0054 00 00 00 54 54
U U+0055 00 00 00 55 55
V U+0056 00 00 00 56 56
W U+0057 00 00 00 57 57
X U+0058 00 00 00 58 58
Y U+0059 00 00 00 59 59
Z U+005A 00 00 00 5A 5A
[ U+005B 00 00 00 5B 5B
\ U+005C 00 00 00 5C 5C
] U+005D 00 00 00 5D 5D
^ U+005E 00 00 00 5E 5E
_ U+005F 00 00 00 5F 5F
` U+0060 00 00 00 60 60
a U+0061 00 00 00 61 61
b U+0062 00 00 00 62 62
c U+0063 00 00 00 63 63
d U+0064 00 00 00 64 64
e U+0065 00 00 00 65 65
f U+0066 00 00 00 66 66
g U+0067 00 00 00 67 67
h U+0068 00 00 00 68 68
i U+0069 00 00 00 69 69
j U+006A 00 00 00 6A 6A
k U+006B 00 00 00 6B 6B
l U+006C 00 00 00 6C 6C
m U+006D 00 00 00 6D 6D
n U+006E 00 00 00 6E 6E
o U+006F 00 00 00 6F 6F
p U+0070 00 00 00 70 70
q U+0071 00 00 00 71 71
r U+0072 00 00 00 72 72
s U+0073 00 00 00 73 73
t U+0074 00 00 00 74 74
u U+0075 00 00 00 75 75
v U+0076 00 00 00 76 76
w U+0077 00 00 00 77 77
x U+0078 00 00 00 78 78
y U+0079 00 00 00 79 79
z U+007A 00 00 00 7A 7A
{ U+007B 00 00 00 7B 7B
| U+007C 00 00 00 7C 7C
} U+007D 00 00 00 7D 7D
~ U+007E 00 00 00 7E 7E
U+007F 00 00 00 7F 7F