summaryrefslogtreecommitdiffstats
path: root/Lib/codecs.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/codecs.py')
-rw-r--r--Lib/codecs.py20
1 files changed, 15 insertions, 5 deletions
diff --git a/Lib/codecs.py b/Lib/codecs.py
index e7967d8..b377979 100644
--- a/Lib/codecs.py
+++ b/Lib/codecs.py
@@ -7,7 +7,7 @@ Written by Marc-Andre Lemburg (mal@lemburg.com).
"""#"
-import struct, __builtin__
+import __builtin__, sys
### Registry and builtin stateless codec functions
@@ -48,11 +48,21 @@ BOM_UTF32_LE = '\xff\xfe\x00\x00'
# UTF-32, big endian
BOM_UTF32_BE = '\x00\x00\xfe\xff'
-# UTF-16, native endianness
-BOM = BOM_UTF16 = struct.pack('=H', 0xFEFF)
+if sys.byteorder == 'little':
-# UTF-32, native endianness
-BOM_UTF32 = struct.pack('=L', 0x0000FEFF)
+ # UTF-16, native endianness
+ BOM = BOM_UTF16 = BOM_UTF16_LE
+
+ # UTF-32, native endianness
+ BOM_UTF32 = BOM_UTF32_LE
+
+else:
+
+ # UTF-16, native endianness
+ BOM = BOM_UTF16 = BOM_UTF16_BE
+
+ # UTF-32, native endianness
+ BOM_UTF32 = BOM_UTF32_BE
# Old broken names (don't use in new code)
BOM32_LE = BOM_UTF16_LE