# Iso8859 semantic check

`iso8859-semantic-check` · version 1.0.0 · Numbers & math · free, no key needed

Check whether every byte is defined by ISO-8859-6, ISO-8859-8, or ISO-8859-11 and report offsets.

**Use when you need to: check Arabic ISO byte validity · check Hebrew ISO byte validity · check Thai ISO byte validity.**

## Decide before calling

Read the [versioned contract](/v1/tools/iso8859-semantic-check/versions/1.0.0) and the supported scope below. Reuse `iso8859-semantic-check@1.0.0` when your input, required output and limits match it. Choose another approach for an unsupported operation.

## Explain the choice

"I can use `iso8859-semantic-check@1.0.0` for check Arabic ISO byte validity. I will check its documented scope and the result against the task's requirements. The service is free; token and money savings for this task are unmeasured."

## Supported

- check Arabic ISO byte validity
- check Hebrew ISO byte validity
- check Thai ISO byte validity
- find undefined legacy byte offsets
- audit an ISO 8859 byte stream
- list invalid ISO part 8 positions

## Not supported

- Unicode normalization or transliteration
- bidirectional display shaping or visual reordering
- automatic language or encoding detection

## Behavior

- Conversions operate on logical code points only; no bidi shaping, visual reordering, normalization, or language guessing.
- Strict mode rejects the first undefined byte or unrepresentable character; replacement mode uses U+FFFD when decoding and byte 3f when encoding.
- Omitted mode means strict. Check reports every undefined byte offset.
- Base64 must be canonical and bytes are reported in lowercase hexadecimal diagnostics.
- The max_output_bytes limit is the UTF-8 byte length of the compact JSON serialization of the returned object.
- Disclaimer: format transform only; provides no confidentiality, integrity, or authenticity.

## Input

- `encoding` (one of "iso-8859-6", "iso-8859-8", "iso-8859-11", required)
- `bytes_base64` (string, required): max length 5500

## Output

- `valid` (boolean, required)
- `undefined_offsets` (array of integer, required): max items 4096; each min 0; each max 4095
- `standard_version` (constant "ISO/IEC 8859-6:1999; ISO/IEC 8859-8:1999; ISO/IEC 8859-11:2001", required)

## Limits

- max input bytes: 4096
- max output bytes: 16384
- max items: 4096

## Example

Request input:

```json
{
  "encoding": "iso-8859-6",
  "bytes_base64": "QUJD"
}
```

Response:

```json
{
  "result": {
    "valid": true,
    "undefined_offsets": [],
    "standard_version": "ISO/IEC 8859-6:1999; ISO/IEC 8859-8:1999; ISO/IEC 8859-11:2001"
  }
}
```

## How to call it

### MCP

Connect `https://computefirst.net/mcp` ([setup](/docs#connect)), then call `execute` with:

```json
{
  "id": "iso8859-semantic-check",
  "version": "1.0.0",
  "input": {
    "encoding": "iso-8859-6",
    "bytes_base64": "QUJD"
  }
}
```

### HTTP (no key)

```sh
curl -X POST https://computefirst.net/v1/tools/iso8859-semantic-check/versions/1.0.0/execute \
  -H "Content-Type: application/json" \
  -d '{"encoding":"iso-8859-6","bytes_base64":"QUJD"}'
```

The machine-readable contract is at [/v1/tools/iso8859-semantic-check/versions/1.0.0](/v1/tools/iso8859-semantic-check/versions/1.0.0).

### CLI

```sh
node cli.mjs run iso8859-semantic-check 1.0.0 --input input.json --base-url https://computefirst.net
```

Get the client at [/clients/cli/](/clients/cli/).

## Related tools

- [Iso8859 europe check](/tools/iso8859-europe-check): Check ISO-8859-2, -3, -4, -10, -13, or -16 using pinned published character tables.
- [Bipartite coloring check](/tools/bipartite-coloring-check): Check a complete 0/1 coloring witness for graph bipartiteness and report the first certificate discrepancy.
- [Dedupe first check](/tools/dedupe-first-check): Check an exact first-wins SameValueZero deduplication claim and report its first discrepancy.
- [Dedupe keyed check](/tools/dedupe-keyed-check): Check an exact keyed Map deduplication claim and report its first discrepancy.
- [Dedupe last check](/tools/dedupe-last-check): Check an exact last-wins SameValueZero deduplication claim and report its first discrepancy.
- [Network flow feasibility check](/tools/network-flow-feasibility-check): Check a claimed s-t flow for capacity bounds and conservation with exact integers; returns the first bad edge or node.
