TheDeveloperBlog.com

Home | Contact Us

C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML

<< Back to C-SHARP

C# ASCII Transformation, Convert Char to Index

Use transformations on ASCII values to convert digit chars to ints and to lowercase letters.
ASCII transformations. In ASCII we find each letter, digit, whitespace and symbol character has an underlying int. The lowercase "a" is 97. The digit "1" is 49.
By adding or subtracting, we can transform one ASCII character into another. This enables great optimizations. We can apply many of these optimizations in certain programs.
First example. The character "1" is equal to the value 49. It is the second digit, and the "0" is 48. We can exploit this in a C# program by subtracting 48 to go from char to int.

And: We can parse a string containing digits and immediately use math on these values. This can speed up some programs.

int.Parse
C# program that converts ASCII digits using System; class Program { static void Main() { // Convert char values to equivalent ints. string values = "1234"; for (int i = 0; i < values.Length; i++) { int convertedDigit = values[i] - 48; Console.WriteLine($"Char: {values[i]}; Digit: {convertedDigit}"); } } } Output Char: 1; Digit: 1 Char: 2; Digit: 2 Char: 3; Digit: 3 Char: 4; Digit: 4
Lowercase. In ASCII we find that lowercase letters are stored after uppercase letters. Lowercase letters are near the end of the ASCII table.

So: We can add 32 to go from uppercase to lower. This might seem the opposite of what is logical.

C# program that lowercases chars in ASCII using System; class Program { static void Main() { // Convert uppercase values to lowercase. string values = "ABCD"; for (int i = 0; i < values.Length; i++) { char convertedChar = (char)(values[i] + 32); Console.WriteLine($"Uppercase: {values[i]}; Lowercase: {convertedChar}"); } } } Output Uppercase: A; Lowercase: a Uppercase: B; Lowercase: b Uppercase: C; Lowercase: c Uppercase: D; Lowercase: d
Letter indexes. Suppose you have a trie and want to store 26 child nodes on it. We can convert lowercase letters to the range 0-25 and then index an array.

Here: We subtract 97 to go from a letter to an index. The lowercase letter "b" for example is now the value 1.

C# program that converts letters to indexes using System; class Program { static void Main() { // Convert lowercase letters to indexes. string values = "abcd"; for (int i = 0; i < values.Length; i++) { int convertedIndex = values[i] - 97; Console.WriteLine($"Letter: {values[i]}; Index: {convertedIndex}"); } } } Output Letter: a; Index: 0 Letter: b; Index: 1 Letter: c; Index: 2 Letter: d; Index: 3
A summary. For ASCII, these transformations are reliable. They are fast, and can be used in many applications like search utilities to speed up queries.ASCII TableTree
© TheDeveloperBlog.com
The Dev Codes

Related Links:


Related Links

Adjectives Ado Ai Android Angular Antonyms Apache Articles Asp Autocad Automata Aws Azure Basic Binary Bitcoin Blockchain C Cassandra Change Coa Computer Control Cpp Create Creating C-Sharp Cyber Daa Data Dbms Deletion Devops Difference Discrete Es6 Ethical Examples Features Firebase Flutter Fs Git Go Hbase History Hive Hiveql How Html Idioms Insertion Installing Ios Java Joomla Js Kafka Kali Laravel Logical Machine Matlab Matrix Mongodb Mysql One Opencv Oracle Ordering Os Pandas Php Pig Pl Postgresql Powershell Prepositions Program Python React Ruby Scala Selecting Selenium Sentence Seo Sharepoint Software Spellings Spotting Spring Sql Sqlite Sqoop Svn Swift Synonyms Talend Testng Types Uml Unity Vbnet Verbal Webdriver What Wpf