12345678910111213141516171819202122232425262728 |
- # -*- coding: utf-8 -*-
- #
- # Copyright © Spyder Project Contributors
- # Licensed under the terms of the MIT License
- # (see spyder/__init__.py for details)
- """QString compatibility."""
- import sys
- PY2 = sys.version[0] == '2'
- def qstring_length(text):
- """
- Tries to compute what the length of an utf16-encoded QString would be.
- """
- if PY2:
- # I don't know what this is encoded in, so there is nothing I can do.
- return len(text)
- utf16_text = text.encode('utf16')
- length = len(utf16_text) // 2
- # Remove Byte order mark.
- # TODO: All unicode Non-characters should be removed
- if utf16_text[:2] in [b'\xff\xfe', b'\xff\xff', b'\xfe\xff']:
- length -= 1
- return length
|