export { DecodeBase64Options, EncodeBase64Options, decodeBase64, decodeByteString, decodeHex, encodeBase64, encodeByteString, encodeHex } from 'happy-codec'; /** * Codec 模块:提供各种编码/解码功能。 * 除了 UTF-8 编码/解码功能外,其余编码/解码功能直接从 `happy-codec` 包中导出。 * * @module codec */ /** * 将字符串数据编码为 `Uint8Array`(UTF-8 编码)。 * @param data - 需要编码的字符串数据。 * @returns 编码后的 `Uint8Array`。 * @since 1.0.0 * @example * ```ts * const encoded = encodeUtf8('你好'); * console.log(encoded); // Uint8Array [228, 189, 160, 229, 165, 189] * ``` */ declare function encodeUtf8(data: string): Uint8Array; /** * 将二进制数据解码为字符串(UTF-8 解码)。 * @param data - 需要解码的二进制数据。 * @param options - 解码选项(可选)。 * @param options.fatal - 如果为 `true`,遇到无效的 UTF-8 序列会抛出异常;如果为 `false`(默认),使用替换字符 U+FFFD 代替。 * @param options.ignoreBOM - 如果为 `true`,保留字节顺序标记(BOM);如果为 `false`(默认),自动删除 BOM。 * @returns 解码后的字符串。 * @throws {TypeError} 当 `options.fatal` 为 `true` 且输入包含无效的 UTF-8 序列时。 * @since 1.0.0 * @example * ```ts * // 基本用法 * const decoded = decodeUtf8(new Uint8Array([228, 189, 160, 229, 165, 189])); * console.log(decoded); // '你好' * * // 使用 fatal 选项处理无效字节 * const withReplacement = decodeUtf8(new Uint8Array([0xff, 0xfe])); * console.log(withReplacement); // '��'(使用替换字符) * * // 使用 ignoreBOM 选项保留 BOM * const withBOM = new Uint8Array([0xef, 0xbb, 0xbf, 0x48, 0x69]); // BOM + 'Hi' * decodeUtf8(withBOM); // 'Hi'(删除 BOM) * decodeUtf8(withBOM, { ignoreBOM: true }); // '\uFEFFHi'(保留 BOM) * ``` */ declare function decodeUtf8(data: BufferSource, options?: TextDecoderOptions): string; export { decodeUtf8, encodeUtf8 };