ARM Technical Support Knowledge Articles

COMPILER IGNORES 0XFD, 0XFE, 0XFF VALUES IN STRINGS

Applies to: General Topics

Answer


Information in this article applies to:


QUESTION

I have a problem with the interpretation of Russian strings in the Keil C51 compiler. Some Russian characters are using the encoding 0xFD. It looks like this encoding is ignored by the compiler and is not included in the program code.

Example:

code char RussianString[] = "??? ????";

Why does this problem exist and how can I avoid this behavior?

ANSWER

The character encodings 0xFD, 0xFE, and 0xFF are used internally by the C compiler. The ANSI standard only requires support for ASCII characters in the range 0x00 - 0x7F.

You may insert these characters by using HEX encodings in the string as follows:

code char RussianString[] = "My Text" "xFD";

A simple text replacement which replaces all 0xFD characters with the string '" "xFD' should do the job.

SEE ALSO

Article last edited on: 2004-05-10 15:34:11

Rate this article

[Bad]
|
|
[Good]
Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential