Możliwość wpisania zwykłego tekstu do cytowanych ciągów lub znaków w kodzie źródłowym oraz możliwość zobaczenia rzeczywistego znaku jest bardzo miła. Na przykład symbol pi „π” lub ideograf „𠀊” są znacznie ładniejsze niż odpowiednik „\ u3c0” dla pi i L '\ u2000A dla ideografu.
Możliwe jest wpisywanie i / lub kopiowanie i wklejanie tych znaków bezpośrednio do kodu źródłowego, podobnie jak znaki ASCII, w przyzwoitym edytorze.
Uważam, że konkretne przykłady są pomocne w konceptualizacji i zrozumieniu rzeczy, których opisy czasami nie wydają się prowadzić do domu. Konceptualizuj stałe znaków Unicode wpisane w kodzie źródłowym, takie jak następujący krótki przykładowy fragment kodu:
const unsigned char ASCII_0X7E = (unsigned char) '~';
const unsigned short UNICODE_0X3C0 = (unsigned short) 'π';
const unsigned long UNICODE_0X2000A = (unsigned long) '𠀊';
const unsigned long UNICODE_0X2893D = (unsigned long) '𨤽';
Znak tyldy ASCII „~” można zapisać w pliku źródłowym ASCII lub UTF-8, ale znaków Unicode nie można zapisać w formacie ASCII. Symbol PI „π” jest kodem Unicode punkt 0x3c0 i może być przechowywany w formie UTF-8 jako dwubajtowa wartość 0xcf, 0x80. Ideografy w punktach kodu Unicode 0x2000a i 0x2893d wymagają 4 bajtowych sekwencji UTF-8.
Aby znaki te zachowały zamierzone wartości, a kompilator zinterpretował je zgodnie z przeznaczeniem, kod źródłowy należy zapisać w formacie obsługującym zestaw znaków Unicode, takim jak UTF-8 lub UTF-16. Jeśli zostanie zapisany jako UTF-8, porządny kompilator zrozumie i zinterpretuje wartości zgodnie z przeznaczeniem, a porządny edytor załaduje i wyświetli znaki poprawnie.
Jak zauważyli inni, jeśli po prostu nie masz żadnych znaków w kodzie źródłowym, które są poza zakresem ASCII, zapisanie jako UTF-8 spowoduje utworzenie pliku, który nie różni się od zapisania pliku ASCII, ponieważ UTF- 8 został zaprojektowany tak, aby nakładał się na ASCII w zakresie znaków ASCII. Jak tylko wpiszesz dowolny kod w kodzie źródłowym, który jest poza zakresem ASCII, porządny edytor poinformuje cię, że musisz wybrać kodowanie, aby użyć do zapisania pliku. UTF-8 jest dobrym wyborem, ponieważ może obsługiwać ASCII w stanie, w jakim jest i praktycznie każda inna postać obsługiwana w środowisku programistycznym.