আপনি যদি উইন্ডোজ / ভিজ্যুয়াল স্টুডিও ব্যবহার করেন এবং স্ট্রিংকে উইস্ট্রিংয়ে রূপান্তর করতে প্রয়োজন হয় আপনি ব্যবহার করতে পারেন:
#include <AtlBase.h>
#include <atlconv.h>
...
string s = "some string";
CA2W ca2w(s.c_str());
wstring w = ca2w;
printf("%s = %ls", s.c_str(), w.c_str());
স্ট্রিং করার জন্য একটি wstring রূপান্তরের জন্য একই পদ্ধতি (কখনও কখনও আপনি একটি নির্দিষ্ট করার প্রয়োজন হবে codepage ):
#include <AtlBase.h>
#include <atlconv.h>
...
wstring w = L"some wstring";
CW2A cw2a(w.c_str());
string s = cw2a;
printf("%s = %ls", s.c_str(), w.c_str());
আপনি একটি কোডপেজ এবং এমনকি ইউটিএফ 8 নির্দিষ্ট করতে পারেন (এটি জেএনআই / জাভার সাথে কাজ করার সময় খুব সুন্দর )। একটি স্ট্যান্ডার্ড :: ডাব্লু স্ট্রিংকে utf8 স্টাড :: স্ট্রিংয়ে রূপান্তর করার একটি মানক উপায় এই উত্তরে দেখানো হয়েছে ।
//
// using ATL
CA2W ca2w(str, CP_UTF8);
//
// or the standard way taken from the answer above
#include <codecvt>
#include <string>
// convert UTF-8 string to wstring
std::wstring utf8_to_wstring (const std::string& str) {
std::wstring_convert<std::codecvt_utf8<wchar_t>> myconv;
return myconv.from_bytes(str);
}
// convert wstring to UTF-8 string
std::string wstring_to_utf8 (const std::wstring& str) {
std::wstring_convert<std::codecvt_utf8<wchar_t>> myconv;
return myconv.to_bytes(str);
}
আপনি কোডেপেজ সম্পর্কে আরও জানতে চাইলে সফটওয়্যারের উপর জোয়েলের একটি আকর্ষণীয় নিবন্ধ রয়েছে: পরম নূন্যতম প্রতিটি সফ্টওয়্যার বিকাশকারী অবশ্যই, ইউনিকোড এবং চরিত্রের বিভাগ সম্পর্কে ইতিবাচকভাবে অবশ্যই জানতে হবে ।
এই CA2W (রূপান্তর আনসি থেকে চওড়া = ইউনিকোড) ম্যাক্রোগুলি এটিএল এবং এমএফসি স্ট্রিং রূপান্তর ম্যাক্রোর অংশ , নমুনাগুলি অন্তর্ভুক্ত।
কখনও কখনও আপনাকে সুরক্ষা সতর্কতা # 4995 'অক্ষম করতে হবে, আমি অন্য কাজের কথা জানি না (যখন আমি ভিএস ২০১২-তে উইন্ডোজএক্সপি-র জন্য সংকলন করেছি তখন আমার ক্ষেত্রে এটি ঘটে)।
#pragma warning(push)
#pragma warning(disable: 4995)
#include <AtlBase.h>
#include <atlconv.h>
#pragma warning(pop)
সম্পাদনা:
আচ্ছা, এই নিবন্ধ অনুসারে জোয়েলের নিবন্ধটি প্রদর্শিত হবে: "বিনোদন দেওয়ার সময় এটি প্রকৃত প্রযুক্তিগত বিবরণে বেশ হালকা"। নিবন্ধ: প্রতিটি প্রোগ্রামার একেবারে কি, ইতিবাচকভাবে এনকোডিং এবং পাঠ্যের সাথে কাজ করার জন্য চরিত্রের সেটগুলি সম্পর্কে জানতে হবে ।
strings
> 8-বিট অক্ষর গ্রহণ করে বলে মনে করি না । এটি ইতিমধ্যে ইউটিএফ -8 এ এনকোড করা আছে?