# Why can a no-break space fail an identifier check?

U+00A0 is a space. An identifier grammar that accepts U+0020, or that accepts no spaces, does not treat U+00A0 as U+0020. Code points: U+00A0. This describes the scalar. It is not a test of a named language, username field, or compiler. Acceptance was not tested. A non-equivalent fallback is " " (ASCII space when a space is allowed). A different scalar. It permits a line break. Exact string match: no. NFC match: no. Appearance and meaning were not tested. Font coverage, shaping, and application acceptance were not tested, so those results are unknown.

## Code points

- U+00A0 NO-BREAK SPACE

## What was checked

### No-break space

A spacing character that inhibits ordinary line breaking at its position.

It resembles an ordinary space and can surprise search, source formatting and wrapping.

Replace with U+0020 when nonbreaking behavior is unnecessary.

### No-break space in an identifier

U+00A0 is a space. An identifier grammar that accepts U+0020, or that accepts no spaces, does not treat U+00A0 as U+0020.

This describes the scalar. It is not a test of a named language, username field, or compiler. Acceptance was not tested.

Use U+0020 when an ASCII space is required. Remove the space when the grammar allows no space.

## What this does not prove

No OS, font, browser, application, field policy or rendering engine was tested. Unicode validity and segmentation do not establish actual display or acceptance.

Unicode release recorded with this answer: 18.0.0.
Machine-readable JSON: https://copypastecharacters.com/reference/v1/answers/why-a-no-break-space-can-fail-an-identifier.json
Exact lookup: https://copypastecharacters.com/reference/v1/exact/00A0.json?purpose=identifier
HTML: https://copypastecharacters.com/answers/why-a-no-break-space-can-fail-an-identifier/

Do not invent a platform-support claim from this data.
