انواع کاراکتری در C++
در زبان C++ انواع مختلفی برای کاراکتر ها و رشته های کاراکتری موجود است. هر کدام از این انواع دارای ویژگی های مشخصی است و برای ذخیره ی اطلاعات خاصی به کار می رود. بسیاری از انها را نیز میتوان به جای یکدیگر به کار برد یا به یکدیگر تبدیل کرد. در این پست با برخی از این انواع آشنا می شویم و ویژگی های هر یک و تبدیل انها به یکدیگر را در پست های بعد بررسی می کنیم.
(منظور از کاراکتر 8 بیتی یا 16 بیتی کاراکتری است که به مقدار 1 یا 2 بایت از حافظه برای ذخیره سازی نیاز دارد. کاراکتر های 16 بیتی یا یونی کد را با حرف L مشخص می کنند. )
char :
یک کاراکتر 8 بیتی که دارای محدوده ی -128 تا 127 است. کاراکترها در زبان C++ دارای ارزش عددی هستند و به همین دلیل اعمال حسابی بر روی آنها قابل انجام است. (همچنین میتوان برای ذخیره اعداد کوچک، به جای انواع عددی مانند int ، از انها استفاده کرد.) مثال :
char ch = 'A';
unsigned char :
یک کاراکتر 8 بیتی unsigned با محدوده ی 0 تا 255 . مثال :
unsigned char ch = 'A';
char* :
یک اشاره گر به یک رشته از کاراکتر های 8 بیتی (signed) که به کاراکتر NUL خاتمه می یابند. مثال :
char* ch = "this is a char string";
wchar_t :
یک کاراکتر 16 بیتی (unsigned short) که به "نوع گسترده کاراکتر" معروف است و محدوده ای از -32768 تا 32767 را در بر می گیرد. در کامپایلر های ماکروسافت، "کاراکتر های گسترده" به کاراکترهای یونی کد (Unicode) تفسیر می شوند. مثال :
wchar_t ch = L 'ت';
unsigned wchar_t :
کاراکتر های 16 بیتی از نوع unsigned با محدوده ای از 0 تا 65536 . مثال :
unsinged char ch = L 'A';
wchar_t* :
یک اشاره گر به رشته ای از کاراکتر های 16 بیتی که با کاراکتر NUL خاتمه می یابند. مثال :
wchar_t* ch = L "this is a new text";
char16_t & char32_t :
نوع دیگری از کاراکتر های 16 و 32 بیتی.
char16_t ch = L 'A';
انواع کاراکتری را میتوان مانند انواع حسابی با مقادیر شانزده دهی (hexadecimal) نیز مقدار دهی کرد. با استفاده از برنامه ی Character Map ویندوز میتوان کد های شانزده دهی هر کاراکتر را به دست آورد.
+ نوشته شده در شنبه یکم بهمن ۱۳۹۰ ساعت 10:4 توسط MEC
GENERAL INFORMATION