كيف يمكنني عرض أحرف رموز ASCII الممتدة في بيرل؟

StackOverflow https://stackoverflow.com/questions/3753055

  •  04-10-2019
  •  | 
  •  

سؤال

alt text

كيفية عرض 192 رمز حرف ( └ ) في بيرل؟

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

المحلول

ما تريده هو أن تكون قادرًا على طباعة Unicode ، والجواب في perldoc perluniintro.

يمكنك استخدام \x{nnnn} حيث N هو معرف Hex ، أو يمكنك القيام به \N{...} مع الاسم:

perl -E 'say "\x{2514}"; use charnames; say "\N{BOX DRAWINGS LIGHT UP AND RIGHT}"'

نصائح أخرى

لاستخدام هذه الرموز بالضبط يجب أن تدعم المحطة الخاصة بك رمز الصفحة 437, الذي يحتوي على إطارات. بدلاً من ذلك يمكنك استخدام المشتقة CP850 مع شخصيات الملاكمة أقل. مثل هذه الشخصيات الملاكمة موجودة كما عناصر كتلة Unicode. يُشار إلى الشار الذي تريده في بيرل \N{U+2514}. مزيد من التفاصيل في perlunicode

هذا يبدو وكأنه رمز صفحة 437 ترميز. ربما يكون بيرل مجرد إخراج بايتات التي تعطيها. وربما تتوقع محطةك UTF8.

لذلك تحتاج إلى فك تشفيره إلى Unicode ، ثم إعادة ترميزه في UTF-8.

تحرير: الترميز الصحيح.

كالعادة ، جون سكيت يسمعها: 192 الكود في ""امتدت ASCII"المدى. أقترح عليك متابعة نصيحة Douglas Leeder, ، لكنني لست متأكدًا من ما الذي يمنحك تشفير www.lookuptables.com ؛ ISO-8859-1 يعتقد 192 خرائط لـ "à" ، و Mac OS Roman يعتقد أنها "¿".

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top