🌊
【Zig】不正なバイト列のチェックと代替文字への置き換え
不正なバイト列のチェックには utf8ValidateSlice
、代替文字(U+FFFD)への置き換えには fmtUtf8
(Zig 0.12 開発版で導入)を使う
const std = @import("std");
const print = std.debug.print;
const utf8ValidateSlice = std.unicode.utf8ValidateSlice;
const fmtUtf8 = std.unicode.fmtUtf8;
pub fn main() !void {
const bytes = [_]u8 { 0x61, 0x62, 0xff };
print("{}\n", .{ utf8ValidateSlice(&bytes) });
print("{}\n", .{ fmtUtf8(&bytes) });
}
Discussion