It is known that in C, a string is represented by an array of `char`s.

And in most 32-bit processors, a `char` takes one byte or eight bits. And a string consists of an array of one `byte`s.

Because extended characters like Chinese and Japanese takes up **more** bits than 8 bits, I am getting a little confused about the stuff around this.

For example, I tested that I can define an array of Chinese characters the same way an array of English letters is defined, using syntax like`char array[100]`. So my question is:

Is there a mechanism that attempts to bridge the gap between general 8-bits characters and greater-than-8-bits characters so that they are treated like the same, just like what I have mentioned above.