gooo The Go ports lab / experimental

UNICODE / COMPILED GOOO

What’s in this text?

Paste a short piece of text to inspect Unicode letters, decimal digits, whitespace and encoding lengths.

Loading the WebAssembly worker…

Report a problem

Pasting or dropping replaces the whole input and clears this box. Typing afterward starts a new input. Typed line breaks follow the browser’s editor behavior.

This browser view accepts up to 256 decoded items and 512 UTF-16 code units. Longer input is rejected in full. These are interface limits, not limits of the underlying functions.

Enter text or choose an example.

Exact input preview

Each \uXXXX represents one received UTF-16 code unit. A valid surrogate pair becomes one result row; CR and LF remain separate rows.

No input yet.

This view reads the text delivered by your browser. A source app or clipboard may have transformed it before delivery.

Inspection happens locally. Your text is not put in a URL, sent to a server, or saved in browser storage.

Code point results

Not inspected.

Offsets start at zero in the received UTF-16 sequence. Encoding lengths come from Go’s RuneLen functions: −1 means the value cannot be encoded as a Unicode scalar. A lone surrogate occupies one received code unit but has encoding length −1.

Go White_Space membership does not describe how a character looks. This view reports code points, not user-perceived character boundaries.

Letters and decimal digits use Unicode 17.0.0 categories L and Nd. For example, ١ is a decimal digit; ², ¼ and Ⅷ are other numbers. A combining accent is not a letter. These per-code-point results do not validate a complete identifier or assess confusables.

Six Gooo calls for each row.

The browser decodes its UTF-16 input and passes each decimal value to the compiled utf8.ValidRune, unicode.IsSpace, unicode.IsLetter, unicode.IsDigit, utf8.RuneLen and utf16.RuneLen ports. A dedicated worker runs the same WebAssembly program as the function demo. No arbitrary text is passed to a Gooo string-processing function.

Program identity will appear after loading.