You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/content/newsletters/2025-07-31.mdx
+9Lines changed: 9 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -81,6 +81,15 @@ This was fixed this month, allowing Google reCAPTCHA to work and pass!
81
81
Unfortunately, it does not work on origins that are not https://www.google.com/ due to a separate same-origin policy issue that has not been
82
82
resolved.
83
83
84
+
### The Web is UTF-16
85
+
86
+
Strings in JavaScript and the Web are [UTF-16 by definition](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String#utf-16_characters_unicode_code_points_and_grapheme_clusters).
87
+
Until now, we have been using a UTF-8 string type internally to represent JS strings, and we would transcode to UTF-16
88
+
on-the-fly to satisfy specification requirements as needed. Over time, this has resulted in an ever-growing number of
89
+
locations that need to perform extra work to behave correctly. This month, we've decided to introduce a UTF-16 string
90
+
to begin using wholesale within LibJS and LibWeb. This not only make the code simpler to write and reason about, but
91
+
has also fixed some Unicode-related edge cases that we previously missed.
92
+
84
93
### Credits
85
94
86
95
We'd like to thank everyone who contributed code this month:
0 commit comments