আমার কাছে একটি স্ট্রিং রয়েছে যা আমি তৃতীয় পক্ষের অ্যাপ থেকে পেয়েছি এবং আমি এটি আমার উইন্ডোজ সারফেসে সি # ব্যবহার করে যে কোনও ভাষায় সঠিকভাবে প্রদর্শন করতে চাই।
ভুল এনকোডিংয়ের কারণে, আমার স্ট্রিংয়ের একটি অংশ স্প্যানিশ ভাষায় এইরকম দেখাচ্ছে:
Acción
যদিও এটি দেখতে এইরকম হওয়া উচিত:
Acción
এই প্রশ্নের উত্তর অনুসারে: সি # তে স্ট্রিং এনকোডিংটি কীভাবে জানবেন , আমি যে এনকোডিংটি পাচ্ছি তা ইতিমধ্যে ইউটিএফ -8 এ আসা উচিত, তবে এটি এনকোডিং.ডাফল্ট (সম্ভবত এএনএসআই?) পড়তে হবে।
আমি এই স্ট্রিংটিকে বাস্তব ইউটিএফ -8 এ রূপান্তর করার চেষ্টা করছি, তবে একটি সমস্যা হ'ল আমি কেবল এনকোডিং শ্রেণির একটি উপসেট দেখতে পাচ্ছি (কেবলমাত্র ইউটিএফ 8 এবং ইউনিকোড বৈশিষ্ট্য), সম্ভবত আমি উইন্ডো পৃষ্ঠের এপিআইতে সীমাবদ্ধ রেখেছি বলেই।
আমি ইন্টারনেটে যে স্নিপেটগুলি পেয়েছি তা চেষ্টা করেছি, তবে পূর্বের ভাষার জন্য (যেমন কোরিয়ান) এখন পর্যন্ত তাদের কোনওটিই সফল প্রমাণিত হয়নি। একটি উদাহরণ নিম্নরূপ:
var utf8 = Encoding.UTF8;
byte[] utfBytes = utf8.GetBytes(myString);
myString= utf8.GetString(utfBytes, 0, utfBytes.Length);
আমি স্ট্রিংটি বাইট অ্যারেতে বের করার চেষ্টা করে এবং তারপরে ইউটিএফ 8 ব্যবহার করেছিলাম। গেটস্ট্রিং:
byte[] myByteArray = new byte[myString.Length];
for (int ix = 0; ix < myString.Length; ++ix)
{
char ch = myString[ix];
myByteArray[ix] = (byte) ch;
}
myString = Encoding.UTF8.GetString(myByteArray, 0, myString.Length);
আপনাদের কাছে কি অন্য কোনও ধারণা রয়েছে যা আমি চেষ্টা করতে পারি?
Encoding.Default
সিস্টেমের এএনএসআই কোডপেজ দেয়।