আমি সি # তে একটি স্ট্রিং-এর অক্ষরের ASCII মান পেতে চাই।
যদি আমার স্ট্রিংয়ের মান "9quali52ty3" থাকে তবে আমি 11 টি অক্ষরের প্রত্যেকটির ASCII মান সহ একটি অ্যারে চাই।
আমি সি # তে কীভাবে ASCII মান পেতে পারি?
আমি সি # তে একটি স্ট্রিং-এর অক্ষরের ASCII মান পেতে চাই।
যদি আমার স্ট্রিংয়ের মান "9quali52ty3" থাকে তবে আমি 11 টি অক্ষরের প্রত্যেকটির ASCII মান সহ একটি অ্যারে চাই।
আমি সি # তে কীভাবে ASCII মান পেতে পারি?
উত্তর:
এমএসডিএন থেকে
string value = "9quali52ty3";
// Convert the string into a byte[].
byte[] asciiBytes = Encoding.ASCII.GetBytes(value);
আপনার কাছে এখন বাইটগুলির ASCII মানের একটি অ্যারে রয়েছে। আমি নিম্নলিখিত পেয়েছি:
57 113 117 97 108 105 53 50 116 121 51
Encoding.ASCII
ASCII অক্ষর সংখ্যায় নেই এমন অক্ষরগুলির জন্য প্রতিস্থাপন অক্ষর ('?') এর জন্য ASCII কোড ইউনিট নির্গমন করতে কনফিগার করা হয়েছে। Encoding
ক্লাসে অন্যান্য বিকল্পগুলি - একটি ব্যতিক্রম ছোঁড়া সহ available উপলব্ধ । এবং অবশ্যই, অন্যান্য চরিত্রের এনকোডিংগুলি — বিশেষত ইউটিএফ -8 too এছাড়াও উপলব্ধ; একজনকে প্রশ্ন করা উচিত যে এটি আসলে আস্কি এএসসিআইআই কিনা?
string s = "9quali52ty3";
foreach(char c in s)
{
Console.WriteLine((int)c);
}
আপনার অর্থ কি আপনি কেবল বর্ণমালার অক্ষর চান না অঙ্কগুলি চান? সুতরাং আপনি ফলাফল হিসাবে "মানের" চান? একে একে একে ফিল্টার করার জন্য আপনি Char.IsLetter বা Char.IsDigit ব্যবহার করতে পারেন।
string s = "9quali52ty3";
StringBuilder result = new StringBuilder();
foreach(char c in s)
{
if (Char.IsLetter(c))
result.Add(c);
}
Console.WriteLine(result); // quality
string value = "mahesh";
// Convert the string into a byte[].
byte[] asciiBytes = Encoding.ASCII.GetBytes(value);
for (int i = 0; i < value.Length; i++)
{
Console.WriteLine(value.Substring(i, 1) + " as ASCII value of: " + asciiBytes[i]);
}
আপনি যদি স্ট্রিংয়ের প্রতিটি চরিত্রের জন্য চারকোড চান তবে আপনি এরকম কিছু করতে পারেন:
char[] chars = "9quali52ty3".ToCharArray();
পূর্ববর্তী উত্তরদাতারা প্রশ্নের উত্তর দিয়েছিলেন তবে শিরোনামটি আমাকে প্রত্যাশিত তথ্য সরবরাহ করে নি। আমার একটি পদ্ধতি ছিল যা একটি চরিত্রের স্ট্রিং ফিরিয়েছিল তবে আমি এমন একটি চরিত্র চাইছিলাম যা আমি হেক্সাডেসিমাল রূপান্তর করতে পারি। নীচের কোডটি আমার মনে হয়েছে যা আমি মনে করি এটি অন্যের পক্ষে সহায়ক বলে আশা করি তা প্রদর্শন করে।
string s = "\ta£\x0394\x221A"; // tab; lower case a; pound sign; Greek delta;
// square root
Debug.Print(s);
char c = s[0];
int i = (int)c;
string x = i.ToString("X");
c = s[1];
i = (int)c;
x = i.ToString("X");
Debug.Print(c.ToString() + " " + i.ToString() + " " + x);
c = s[2];
i = (int)c;
x = i.ToString("X");
Debug.Print(c.ToString() + " " + i.ToString() + " " + x);
c = s[3];
i = (int)c;
x = i.ToString("X");
Debug.Print(c.ToString() + " " + i.ToString() + " " + x);
c = s[4];
i = (int)c;
x = i.ToString("X");
Debug.Print(c.ToString() + " " + i.ToString() + " " + x);
উপরের কোডটি তাত্ক্ষণিক উইন্ডোতে নিম্নলিখিত ফলাফলগুলি দেয়:
a£Δ√
একটি 97 61
3 163 এ 3
16 916 394
30 8730 221A
আপনি বিওএম ব্যবহার করে অপসারণ করতে পারেন :
//Create a character to compare BOM
char byteOrderMark = (char)65279;
if (sourceString.ToCharArray()[0].Equals(byteOrderMark))
{
targetString = sourceString.Remove(0, 1);
}
আমি সি # তে একটি স্ট্রিং-এর অক্ষরের ASCII মান পেতে চাই।
প্রত্যেকে এই কাঠামোর উত্তর প্রদান করে। যদি আমার স্ট্রিংয়ের মান "9quali52ty3" থাকে তবে আমি 11 টি অক্ষরের প্রত্যেকটির ASCII মান সহ একটি অ্যারে চাই।
তবে কনসোলে আমরা খোলামেলা কাজ করি তাই আমরা একটি গৃহস্থালি পাই এবং ASCII কোডটি প্রিন্ট করি যদি আমার ভুল হয় তবে দয়া করে আমার উত্তরটি সংশোধন করুন।
static void Main(string[] args)
{
Console.WriteLine(Console.Read());
Convert.ToInt16(Console.Read());
Console.ReadKey();
}
কেন পুরানো ফ্যাশন সহজ উপায় না?
public int[] ToASCII(string s)
{
char c;
int[] cByte = new int[s.Length]; / the ASCII string
for (int i = 0; i < s.Length; i++)
{
c = s[i]; // get a character from the string s
cByte[i] = Convert.ToInt16(c); // and convert it to ASCII
}
return cByte;
}
string nomFile = "9quali52ty3";
byte[] nomBytes = Encoding.ASCII.GetBytes(nomFile);
string name = "";
foreach (byte he in nomBytes)
{
name += he.ToString("X02");
}
`
Console.WriteLine(name);
// এখন এটি আরও ভাল;)