Comment

Comment by winny314

In the first example:

    def create_a_file(filename, size):
        if len(filename) > 16:
            raise ValueError("Invalid filename, more than 16 bytes")
        account = tb.Account(
            id=int.from_bytes(filename.encode()),
            ...
        ...
Is `filename` a str? In which case `len(str)` returns the number of codepoints in the unicode string, not the number of bytes in an encoded representation. Yup the `filename.encode()` sounds like `str.encode()` which itself returns a `bytes` object. Not sure if it matters, but semantically it bugs the heck out of me.
parent winny314 11 months ago

No comments yet

Be the first to share your thoughts.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton