vix.ing · top · new · best · stats

Fixing ill-formed UTF-16 strings with SIMD instructions

2026/01/09 by Robert Clausecker, Daniel Lemire · 1 voice
Computer Science · Mathematics · #Advanced Data Storage Technologies #Benford’s Law and Fraud Detection #Big Data and Digital Economy #Character encoding #Code (set theory) #Encoding (memory) #JavaScript #Software #Unicode #cs.OH #cs.PF

paper · pdf · open access · doi:10.48550/arxiv.2601.06349

published in arXiv (Cornell University) (Cornell University)

openalex publication_date 2026/01/09 · arxiv published 2026/01/09 · arxiv updated 2026/01/09 · openalex created_date 2026/01/14 · openalex updated_date 2026/07/28

Abstract

UTF-16 is a widely used Unicode encoding representing characters with one or two 16-bit code units. The format relies on surrogate pairs to encode characters beyond the Basic Multilingual Plane, requiring a high surrogate followed by a low surrogate. Ill-formed UTF-16 strings -- where surrogates are mismatched -- can arise from data corruption or improper encoding, posing security and reliability risks. Consequently, programming languages such as JavaScript include functions to fix ill-formed UTF-16 strings by replacing mismatched surrogates with the Unicode replacement character (U+FFFD). We propose using Single Instruction, Multiple Data (SIMD) instructions to handle multiple code units in parallel, enabling faster and more efficient execution. Our software is part of the Google JavaScript engine (V8) and thus part of several major Web browsers.

Citations

Discussions

Related