UTF-16 BE vs UTF-16 LE

UTF-16 BE

Unicode

Big-endian UTF-16. Network byte-order variant of UTF-16. Used in some network protocols and file formats.

UTF-16BE
2–4 bytes
FE FF
1996

UTF-16 LE

Unicode

Little-endian UTF-16. Used internally by Windows, Java, and .NET. Variable-width: 2 bytes for BMP characters, 4 bytes (surrogate pairs) for supplementary characters.

UTF-16LE
2–4 bytes
FF FE
1996

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