渲染zh-Hant

位元組

Translation status: 繁體中文 reader-locale proof. Term names and code fences follow the zh-Hant pack; supporting prose may still be English.

Primitive byte-buffer type.

Aliases: bytes

Syntax: 位元組

Category#

type

Examples#

radix/corpus/octeti/octeti.fab (canonical · keyword)#

Primitive byte-buffer type.

# =============================================================================
# 位元組 — Primitive byte-buffer type.
# =============================================================================
#
# What this teaches:
#   • Primitive buffer type — `位元組` is the built-in byte buffer, analogous to `Vec<u8>` in Rust.
#   • Literal syntax — Byte buffers can be written with hex literals like `|從 端點 be ef|`.
#
# Common mistakes:
#   • Writing 位元組 hex literals with an odd digit count — each byte requires two hex digits.
#
# See also: 文字, 列表
# =============================================================================

# 位元組 — byte-buffer type alias
#
# 型別 Fascis = 位元組
#
# GRAMMAR:
#   typeAliasDecl :← '型別' ident '=' typeExpr
#
# EXPECTED OUTPUT:
#   octeti.expected — type-known diagnostic.

type Fascis = bytes

main {
    const bytes sig ← |從 端點 be ef|
    const bytes hello ← |48 65 6c 6c 6f|
    const bytes empty ← ||
    print "octeti typus notus"
}

Expected output:

octeti typus notus

radix/corpus/bounded/conversio-octeti-to-octeti-decline.fab (supporting · reject)#

Decline: bounded 位元組<N> cannot resize directly to bounded 位元組<M>.

# =============================================================================
# bounded 位元組 resize — unsupported 變換 decline
# =============================================================================
#
# What this teaches:
#   • Bounded byte capacities are not interchangeable through an implicit
#     resize route.
#   • The unsupported route fails closed with `SEM016:unsupported_conversio`.
#
# Common mistakes:
#   • expecting a bounded byte 變換 to truncate or pad silently.

fn resize(bytes<8> raw) → bytes<4> {
    return raw ↦ bytes<4>
}

Expected: compilation rejects this example.

radix/corpus/bounded/conversio-octeti-to-textus-decline.fab (supporting · reject)#

Decline: bounded 位元組<N> cannot convert directly to unbounded 文字.

# =============================================================================
# bounded 位元組 to 文字 — unsupported 變換 decline
# =============================================================================
#
# What this teaches:
#   • A bounded byte carrier does not silently become 文字 through `↦`.
#   • The unsupported route fails closed with `SEM016:unsupported_conversio`.
#
# Common mistakes:
#   • assuming byte decoding is the same as a bounded-width 拷貝 — decoding
#     needs an explicit 位元組/textus library route, not this 變換.

fn widen(bytes<8> raw) → string {
    return raw ↦ string
}

Expected: compilation rejects this example.