String length: Difference between revisions
Content added Content deleted
No edit summary |
(add Zig example) |
||
Line 3,800: | Line 3,800: | ||
"\U1D518;\U1D52B;\U1D526;\U1D520;\U1D52C;\U1D521;\U1D522;".len(8) //-->7 "𝔘𝔫𝔦𝔠𝔬𝔡𝔢"</lang> |
"\U1D518;\U1D52B;\U1D526;\U1D520;\U1D52C;\U1D521;\U1D522;".len(8) //-->7 "𝔘𝔫𝔦𝔠𝔬𝔡𝔢"</lang> |
||
[[Wikipedia::https://en.wikipedia.org/wiki/Comparison_of_programming_languages_%28string_functions%29#length]] |
[[Wikipedia::https://en.wikipedia.org/wiki/Comparison_of_programming_languages_%28string_functions%29#length]] |
||
=={{header|Zig}}== |
|||
<lang zig>const std = @import("std"); |
|||
pub fn main() !void { |
|||
const string: []const u8 = "Hello, world!"; |
|||
const cnt_codepts_utf8 = try std.unicode.utf8CountCodepoints(string); |
|||
// There is no sane and portable extended ascii, so the best |
|||
// we get is counting the bytes and assume regular ascii. |
|||
const cnt_bytes_utf8 = string.len; |
|||
const stdout_wr = std.io.getStdOut().writer(); |
|||
try stdout_wr.print("codepoints = {d}, bytes = {d}\n", .{ cnt_codepts_utf8, cnt_bytes_utf8 }); |
|||
// TODO utf16 |
|||
}</lang> |