Each string is a sequence of characters, where each character is defined by a code number. For example, the string "ABC 123" is stored as a sequence of numbers: 65 65 66 67 32 49 50 51 66 49 50 51. These numbers are called ASCII codes. ASCII stands for American Standard Code for Information Exchange.
- Open the ASCII chart at this link.
- Find the Dec ASCII codes for upper-case A, B, and Z.
- Find the Dec ASCII codes for lower-case a through z.
- Find the Dec ASCII codes for digits.
You can use Python statements to return the ASCII code of a character, and also to return the character for a given ASCII code. Let's try that!
Example script: chars_in_strings_intro
- Enter, name, and save chars_in_strings_intro.
- Click the Send to micro:bit button.
# chars_in_strings_intro from microbit import * sleep(1000) print("n = ASCII code for A") n = ord("A") print("n =", n) print() print("c = character with ASCII code 66") c = chr(66) print("c =", c) print()
- Check the results in the serial monitor.
- Verify that it displays a message that the ASCII code for A is 65, and the character with the ASCII code 66 is B.
- Try some of your own characters and ASCII codes.
How chars_in_strings_intro Works
The statement print("n = ASCII code for A") displays a heading to help give context to the messages below it.
print("n = ASCII code for A")
The function ord() returns the ASCII code of a string that contains a single character. The ASCII code for the character A is 65. So, ord("A") returns 65, and n = ord("A") stores the value 65 in the variable n.
n = ord("A")
After that, print("n = ", n) displays "n =", followed by the value of n, which is 65. Lastly, the print() just prints an empty line.
print("n =", n) print()
Note: the ord() function only works if the string contains a single character! The MicroPython runtime doesn't care whether you enclose characters in single or double-quotes, but single quotes for single characters are more readable. Consider "A" vs. 'A'.
After that empty line, print("c = character with ASCII code 66") prints another heading.
print("c = character with ASCII code 66")
The chr() function accepts an ASCII code, and returns that ASCII code's character. So, c = chr(66) stores the character B in a variable named c.
c = chr(66)
Since c now stores the character B, print("c =", c) prints c = B.
print("c =", c) print()