Issue #28321: Fixed writing non-BMP characters with binary format in plistlib.
diff --git a/Lib/plistlib.py b/Lib/plistlib.py
index b66639c..2502b39 100644
--- a/Lib/plistlib.py
+++ b/Lib/plistlib.py
@@ -918,7 +918,7 @@
                 self._write_size(0x50, len(value))
             except UnicodeEncodeError:
                 t = value.encode('utf-16be')
-                self._write_size(0x60, len(value))
+                self._write_size(0x60, len(t) // 2)
 
             self._fp.write(t)