Skip to content

Main content

Utf16 Lone Surrogate Token Label Tool

Compute utf16 lone surrogate token label from explicit bounded inputs.

Loading tool…

Description

Classify a numeric UTF-16 code unit.

Unicode code points, UTF-16 units and UTF-8 octets are different representations. A local escape or byte check can report useful structure without establishing that an entire encoded string is well formed.

Classify a numeric UTF-16 code unit.

When to use this tool

Use Utf16 Lone Surrogate Token Label when inspecting the stated scalar, escape or byte-layout component.

How to use the tool and how it works

  1. Enter codeUnit. Use the units and conventions below.
  2. Run the tool. Correct any format, range, or cross-field input error before interpreting the output.
  3. Read kind, scalar. Inspect scalar before interpreting the associated values.

Classify a numeric UTF-16 code unit. Require whole codeUnit in [0,65535]; return high-surrogate, low-surrogate or non-surrogate, and scalar false for either surrogate category.1

Unicode scalar values exclude surrogate code points. Code units, scalar values and encoded byte sequences are distinct representations.2

Input fieldMeaning and unitsAccepted input
codeUnitOne numeric UTF-16 code unit; a surrogate is not a Unicode scalar value.Required. Safe integer; minimum 0; maximum 65535.
Output fieldInterpretationReturned shape
kindKindRequired. Text; maximum UTF-16 length 8192.
scalarFalse for high or low surrogates; true for the other single UTF-16 code units.Required. Boolean.
json
{
  "input": {
    "codeUnit": 55296
  },
  "output": {
    "kind": "high-surrogate",
    "scalar": false
  }
}

Limitations and assumptions

  • A lone surrogate is not a scalar; no neighboring units or encoded string are inspected.
  • Inputs must satisfy both the field types and the cross-field conditions above. Invalid input causes an error; a successful false flag or documented placeholder is a different result.
  • Numeric calculations use binary floating point unless exact decimal-integer arithmetic is explicitly stated. No hidden measurement tolerance or decimal rounding is added; nonfinite or out-of-contract results are rejected. Numeric signed-zero results are exported as zero.

Alternative or Complementary methods

Use a conforming complete decoder for strings and distinguish Unicode scalar validity from source-language or HTML error recovery.

References

  1. Calculation and input contract: decode/utf16-lone-surrogate-token-label — tool.io

  2. Unicode 17.0: conformance and encoding forms — Unicode Consortium

Similar or alternative tools