it-swarm.dev

كيفية تحويل رقم إلى حرف ASCII؟

أرغب في إنشاء تطبيق يقوم فيه المستخدم بإدخال رقم وسيقوم البرنامج برمي شخصية للمستخدم.

تحرير: ماذا عن العكس ، تغيير حرف أسكي إلى رقم؟

18
Cyrax Nguyen

يمكنك استخدام إحدى هذه الطرق لتحويل الرقم إلى حرف ASCII/Unicode/UTF-16 :

يمكنك استخدام هذه الطرق ، قم بتحويل قيمة عدد صحيح محدد 32 بت محدد إلى حرف Unicode الخاص به:

char c = (char)65;
char c = Convert.ToChar(65); 

أيضًا ، ASCII.GetString يترجم نطاق البايتات من صفيف بايت إلى سلسلة:

string s = Encoding.ASCII.GetString(new byte[]{ 65 });

ضع في اعتبارك أن ASCIIEncoding لا يوفر اكتشاف الأخطاء. يتم فك ترميز أي بايت أكبر من 0x7F الست عشري كعلامة استفهام Unicode ("؟").

40
Farhad Jabiyev

تحرير: حسب الطلب ، أضفت شيكًا للتأكد من أن القيمة التي تم إدخالها كانت في نطاق ASCII من 0 إلى 127. ما إذا كنت تريد الحد من هذا الأمر متروك لك. في C # (وأعتقد أن .NET بشكل عام) ، يتم تمثيل chars باستخدام UTF-16 ، لذلك يمكن إدخال أي قيمة أحرف UTF-16 صالحة فيه. ومع ذلك ، فمن المحتمل أن النظام لا يعرف الشكل الذي يجب أن يبدو عليه كل حرف Unicode ، وقد يظهر بشكل غير صحيح.

// Read a line of input
string input = Console.ReadLine();

int value;
// Try to parse the input into an Int32
if (Int32.TryParse(input, out value)) {
    // Parse was successful
    if (value >= 0 and value < 128) {
        //value entered was within the valid ASCII range
        //cast value to a char and print it
        char c = (char)value;
        Console.WriteLine(c);
    }
}
5
Cemafor

للحصول على ascii إلى رقم ، يمكنك فقط إلقاء قيمة char في عدد صحيح.

char ascii = 'a'
int value = (int)ascii

ستكون القيمة المتغيرة الآن 97 والتي تتوافق مع قيمة حرف أسكي

(استخدم هذا الرابط كمرجع) http://www.asciitable.com/index/asciifull.gif

4
StevenTsooo

يمكنك ببساطة يلقي بها.

char c = (char)100;
3
sora0419

يمثل C # حرفًا في تشفير UTF-16 بدلاً من ASCII. لذلك ، فإن تحويل عدد صحيح إلى حرف لا يحدث فرقًا بين A-Z و a-z. لكنني كنت أعمل مع ASCII أكواد بجانب الحروف الأبجدية والرقم الذي لم ينجح بالنسبة لي لأن النظام يستخدم كود UTF-16. لذلك ، قمت باستعراض رمز UTF-16 لجميع أحرف UTF-16. هنا الوحدة:

void utfchars()
{
 int i, a, b, x;
 ConsoleKeyInfo z;
  do
  {
   a = 0; b = 0; Console.Clear();
    for (i = 1; i <= 10000; i++)
    {
     if (b == 20)
     {
      b = 0;
      a = a + 1;
     }
    Console.SetCursorPosition((a * 15) + 1, b + 1);
    Console.Write("{0} == {1}", i, (char)i);
   b = b+1;
   if (i % 100 == 0)
  {
 Console.Write("\n\t\t\tPress any key to continue {0}", b);
 a = 0; b = 0;
 Console.ReadKey(true); Console.Clear();
 }
}
Console.Write("\n\n\n\n\n\n\n\t\t\tPress any key to Repeat and E to exit");
z = Console.ReadKey();
if (z.KeyChar == 'e' || z.KeyChar == 'E') Environment.Exit(0);
} while (1 == 1);
}
1
Olxi Suresh

كنت غوغلينغ حول كيفية تحويل int إلى char ، هذا جعلني هنا. ولكن سؤالي كان لتحويل على سبيل المثال كثافة العمليات من 6 إلى حرف "6". بالنسبة لأولئك الذين أتوا إلى هنا مثلي ، هذه هي الطريقة للقيام بذلك:

int num = 6;
num.ToString().ToCharArray()[0];
0
Rafe