سؤال

كيف يمكنني إنشاء سلسلة تسلسل هروب بتدوين سداسي عشري.

مثال:

string s = "\x1A"; // this will create the hex-value 1A or dec-value 26

أريد أن أكون قادرًا على إنشاء سلاسل ذات قيم سداسية تتراوح بين 00 إلى FF مثل هذا (في هذا المثال 1B)

string s = "\x" + "1B"; // Unrecognized escape sequence

ربما هناك طريقة أخرى لعمل سلاسل سداسية عشرية ...

هل كانت مفيدة؟

المحلول

وأنت لا تخزن القيم الست عشرية في السلاسل.

ويمكنك، ولكن سيكون ذلك تماما، سلسلة، ويجب أن يكون المدلى بها إلى عدد صحيح أو بايت لقراءة الواقع قيمتها.

ويمكنك تعيين قيمة ست عشرية كما حرفي إلى int أو بايت على الرغم من:

Byte value = 0x0FF;
int value = 0x1B;

وهكذا، من الممكن بسهولة لتمرير عشري حرفية في سلسلة الخاص بك:

string foo = String.Format("{0} hex test", 0x0BB);

والذي من شأنه أن يخلق هذه السلسلة "126 اختبار عرافة".

ولكن لا أعتقد أن هذا ما تريد؟

نصائح أخرى

يرجى محاولة لتجنب تسلسل \x الهروب. من الصعب قراءة لحيث توقف يعتمد على البيانات. على سبيل المثال، كم الفرق هناك في لمحة بين هذه السلاسل اثنين؟

"\x9Good compiler"
"\x9Bad compiler"

في السابق، و"\ X9" هو علامة التبويب - توقف تسلسل هروب هناك ل'G' ليس حرف عرافة صالح. في السلسلة الثانية، "\ x9Bad" هو كل تسلسل هروب، ويترك لك مع بعض حرف Unicode عشوائي و "المترجم".

وأقترح عليك استخدام \ ش الهروب تسلسل بدلا من ذلك:

"\u0009Good compiler"
"\u0009Bad compiler"

(وبطبيعة الحال لعلامة التبويب التي تريد استخدام \t ولكن أرجو أن نرى ما أعنيه ...)

وهذا هو إلى حد ما بغض النظر عن السؤال الأصلي بالطبع، ولكن هذا ما كان أجبت:)

يوجد رمز هروب '\u' للنظام الست عشري 16 بت رموز أحرف Unicode.

Console.WriteLine( "Look, I'm so happy : \u263A" );
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top