diff --git a/telethon/extensions/html.py b/telethon/extensions/html.py
index 8cd170cb..bcbd13cc 100644
--- a/telethon/extensions/html.py
+++ b/telethon/extensions/html.py
@@ -1,9 +1,10 @@
"""
Simple HTML -> Telegram entity parser.
"""
+import struct
+from collections import deque
from html import escape, unescape
from html.parser import HTMLParser
-from collections import deque
from ..tl.types import (
MessageEntityBold, MessageEntityItalic, MessageEntityCode,
@@ -12,6 +13,18 @@ from ..tl.types import (
)
+# Helpers from markdown.py
+def _add_surrogate(text):
+ return ''.join(
+ ''.join(chr(y) for y in struct.unpack('