A few days ago, I saw someone in a tech group complaining: AI is already so powerful at writing code, with Copilot and Cursor open, code flows out like tap water, so why are there still veteran programmers flipping through ASCII tables? Isn't that stuff from ancient times? The group immediately exploded with a bunch of people, some agreeing, and one guy calmly replied: "Wait until you debug until 3 a.m. someday, then you'll know why."
To be honest, the ASCII table really does look unremarkable. One table, 128 characters, from 0 to 127, each number corresponding to a character. You type a space and it's 32, a newline is 10, uppercase A is 65, lowercase a is 97. That's all there is to it, probably even covered in elementary school computer class. But the problem is, when you're actually doing the work, it matters far more than you think.
AI is indeed great at writing code. Ask it to generate a sorting algorithm, and it writes one for you in a second, complete with comments. Ask it to write a REST API, and it even adds error handling for you. But AI has a flaw: sometimes it "makes things up." Especially when dealing with character encoding, it may generate code that looks fine and runs without errors, but the result is just wrong. For example, if you ask it to process a text file, it matches newlines as \n, but the file actually contains \r\n. The code runs fine on Linux, but goes haywire on Windows. What do you do then? Flip through the ASCII table. 13 is carriage return, 10 is line feed. You look at that string of 0D 0A in a hex editor and immediately understand where the problem is.
There are even more hidden cases. For example, when you're debugging an old system, a field in the JSON returned by the API looks empty, but the program just won't judge it as empty. You print it out and see there's a \u00A0 inside. This thing is called a non-breaking space, corresponding to 160 in the ASCII table. You can't see it with the naked eye at all, but the code logic is stuck because of it. At this point, you pull out the ASCII table and check: oh, 160, not 32. Change the condition, problem solved. If you relied only on AI, it might take you around in a big circle, and in the end you'd still have to check the table yourself.
Veteran programmers flipping through ASCII tables doesn't mean they don't know how to use AI. It means they know that some things can't be relied on AI for. AI excels at pattern recognition and code generation, but when it comes to grasping low-level details, sometimes it really isn't as solid as a table. The ASCII table is like a programmer's multiplication table: it looks simple, but it can save your life at critical moments. Once you've written code for a long time, you'll find that many bizarre problems ultimately come down to character encoding. Garbled text, truncation, comparison failures, regex mismatches, nine times out of ten they're related to ASCII codes.
And flipping through the table itself isn't hard. Open your browser, search for ASCII table lookup, and it takes a second. Or just memorize a few common ones: 32 is space, 48 to 57 are digits 0 to 9, 65 to 90 are uppercase letters, 97 to 122 are lowercase letters. Remember these, and when you're looking at hexadecimal data normally, you'll feel more confident. Veteran programmers aren't rejecting new tools; they just know that some fundamentals can't be abandoned. No matter how powerful AI is, it's still just a tool. The one who really makes the judgment still has to be a person. If you can't even figure out character encoding clearly, would you dare put the code AI generated for you directly into production?
So don't laugh at veteran programmers for flipping through ASCII tables. What they're flipping through isn't a table, it's experience, it's confidence. One day, when you've been tormented by a hidden \r or \u00A0 until you start doubting life, you'll also quietly open that table.