Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the best suited encoding for C++ source code

Tags:

c++

encoding

Recently I moved the encoding of my c++ sources from ASCII to UTF-8 but I am not sure it's a good idea as I have some problems with literals and now thinking slowly I don't see any advantage.

What encoding would be considered standard or "best practice" in c++ sources? (my ides are VStudio and QtCreator but I suppose the question is generic)

like image 274
tru7 Avatar asked Jan 13 '15 17:01

tru7


People also ask

What are the available C libraries for encoding and decoding?

There are number of C libraries available for encoding and decoding as well i.e. libb64, OpenSSL Base64, Apple’s Implementations, arduino-base64 etc. char * data = "Hello World!"; The output of the above program is as below:

What are some examples of encoding in computer programming?

A simple example of encoding would be to input a string as text and output that string as its ASCII code values, using either decimal or hex values. Send those values into another program to decode and retrieve the original text. Another example, one I touch upon in my books, is the exclusive OR operation using byte 0xAA, binary 10101010.

What is the best C IDE for Mac?

Visual Studio Code is open-source code editor developed by Microsoft. It is one of the best C IDE for Mac which provides smart code completion based on variable types, essential modules, and function definitions. The tool enables you to control multiple versions of one program with ease. This IDE can work with the Git version control system.

What is encoding and decode encoding?

Encoding is the process of translating information into another format. For example, Morse Code translates letters and numbers into dots and dashes. At the other end, decoding translates the code created back into its original form, such as taking the dots and dashes and converting them back into readable text.


2 Answers

I would say UTF-8 is the right choice as long as all the implementations you're using support it.

The advantages are that you don't have to write every non-ascii character using the \uXXXX or \UXXXXXXXX escapes. Or if by 'ASCII' you really mean one of the various locale specific encodings/codepages, using UTF-8 has the advantage that it works across all locales and doesn't require developers to configure their (Windows) machine to a specific locale in order to build your source.

If you describe the issues you're having with literals I can probably help you solve them.

like image 199
bames53 Avatar answered Oct 11 '22 09:10

bames53


From 2.3.1 of the standard:

Character sets [lex.charset]

1 The basic source character set consists of 96 characters: the space character, the control characters representing horizontal tab, vertical tab, form feed, and new-line, plus the following 91 graphical characters:

a b c d e f g h i j k l m n o p q r s t u v w x y z

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

0 1 2 3 4 5 6 7 8 9

_ { } [ ] # ( ) < > % : ; . ? * + - / ^ & | ~ ! = , \ " ’

like image 22
ThomasMcLeod Avatar answered Oct 11 '22 09:10

ThomasMcLeod