জাভাস্ক্রিপ্টে ইউনিকোড অক্ষর .োকান


133

আমার এইচটিএমএল পৃষ্ঠায় আমার একটি ওমেগা (Ω) toোকানো দরকার। আমি এটি করতে এটির এইচটিএমএল এ্যাসকিড কোডটি ব্যবহার করছি, যাতে আমি লিখতে Ωএবং Ω পেতে পারি Ω আমি যখন এটি কোনও এইচটিএমএল উপাদানটিতে রাখি তখন এটি ঠিকঠাক হয়; যাইহোক, আমি যখন এটি আমার জেএসে রাখার চেষ্টা করি, যেমন var Omega = Ω, এটি সেই কোডটিকে জেএস হিসাবে পার্স করে এবং পুরো জিনিসটি কাজ করে না। কেউ কিভাবে এই সম্পর্কে যেতে জানেন?


15
var Omega = "Ω";খুবই সহজ?
হেরেটিক বানর

6
নোটপ্যাড এটি স্বীকার করে না, এটি কেবল একটি ও লিখেছেন: পি
ব্লুফায়ার

13
@ মাইকম্যাককৌশন হ্যাঁ তবে অন্য কোনও বিকাশকারী যদি উত্স ফাইলটির এনকোডিংয়ের সাথে মেসেজ করে তবে আপনি হেরে গেছেন ... আপনার কাছে সর্বদা কেউ বলবেন "ওইওওপিএস আমি জানতাম না যে <সফটওয়্যারটির জন্য স্থানধারক> সিপি 1250 ডিফল্ট এনকোডিং হিসাবে ব্যবহার করেন এবং আমি "বা" চরিত্রের এনকো-হোয়াইট করার সময় সেই ছোট পরিবর্তনটি কি লক্ষ্য করা যায়নি? ; =)
স্যামুয়েল রসিল

3
@ ব্লুফায়ার আরও ভাল পাঠ্য সম্পাদককে স্যুইচ করুন যা অক্ষর এনকোডিং (যেমন নোটপ্যাড ++) সেট করে এবং এটি ইউটিএফ -8 এ সেট করে supports =); তারপর আপনি আপনার সোর্স কোডে chineese লিখতে পারেন যদি আপনি চান ... নাকি আমার প্রথম মন্তব্য দ্বারা লক্ষ্যবস্তু PPL এর বিষয়শ্রেণীতে অন্তর্ভুক্ত থাকার en.wikipedia.org/wiki/Character_encoding
স্যামুয়েল Rossille

4
@ ব্লুফায়ার, নোটপ্যাড ++ এ এটি সূক্ষ্মভাবে পরিচালনা করতে হবে, আপনাকে কেবল মেনুতে থাকা এনকোডিংটি ইউটিএফ -8 বা ইউসিএস -2 এ পরিবর্তন করতে হবে।
হেরেটিক বানর

উত্তর:


195

আমি অনুমান করছি আসলে আপনি চান Omegaএকটি হতে স্ট্রিং সম্বলিত একটি বড় হাতের ওমেগা? সেক্ষেত্রে, আপনি লিখতে পারেন:

var Omega = '\u03A9';

(কারণ Ω হয় কোডপয়েন্ট U + এ 03A9 সঙ্গে ইউনিকোড অক্ষর ; যে, 03A9হয় 937। ছাড়া চার হেক্সাডেসিমেল সংখ্যা হিসাবে লিখিত,)


4
এবং যদি কেউ কোনও ইউনিকোড স্ট্রিংয়ের হেক্সাডেসিমাল মানটি কী তা জানতে চায়: mothereff.in/js-escapes
StanE

জাভাস্ক্রিপ্টের মধ্যে থেকে ইউনিকোড স্ট্রিংয়ের জন্য হেক্সাডেসিমাল মান অর্জনের আর একটি উপায় হ'ল: "Ω" .কোডপয়েন্টএটি (0)। টো স্ট্রিং (16);
কোস্টাসএক্স

53

যদিও @রুখ একটি ভাল উত্তর দিয়েছে, আমি সম্পূর্ণতার জন্য কিছু বিকল্প যুক্ত করব:

আপনি আসলে var Omega = '&#937;'জাভাস্ক্রিপ্টে ব্যবহার করতে পারেন , তবে কেবল আপনার জাভাস্ক্রিপ্ট কোডটি যদি:

  • ইভেন্ট ইভেন্ট হিসাবে, onclick="var Omega = '&#937'; alert(Omega)"বা হিসাবে
  • scriptএকটি এক্সএইচটিএমএল (বা এক্সএইচটিএমএল + এক্সএমএল) দস্তাবেজের একটি উপাদানটিতে একটি এক্সএমএল সামগ্রী প্রকারের সাথে পরিবেশন করা হয়েছে।

এই ক্ষেত্রে কোডটি প্রথমে (জাভাস্ক্রিপ্ট দোভাষীর কাছে যাওয়ার আগে) এইচটিএমএল পার্সার দ্বারা বিশ্লেষণ করা হবে যাতে অক্ষরের উল্লেখগুলি যেমন &#937;স্বীকৃত হয়। সীমাবদ্ধতা বেশিরভাগ ক্ষেত্রে এটি একটি অযৌক্তিক দৃষ্টিভঙ্গি করে।

আপনি Ω চরিত্রটিকে যেমন সন্নিবেশ করতে পারেন তেমন, var Omega = 'Ω'তবে তারপরে অক্ষর এনকোডিংকে অবশ্যই এটির অনুমতি দেওয়া উচিত, এনকোডিংটি অবশ্যই সঠিকভাবে ঘোষণা করা উচিত এবং আপনার এমন সফ্টওয়্যার দরকার যা আপনাকে এই জাতীয় অক্ষর প্রবেশ করতে দেয়। এটি একটি পরিষ্কার সমাধান এবং বেশ সম্ভাব্য যদি আপনি সমস্ত কিছুর জন্য ইউটিএফ -8 এনকোডিং ব্যবহার করেন এবং এর দ্বারা নির্মিত সমস্যাগুলি মোকাবেলা করার জন্য প্রস্তুত থাকেন। উত্স কোডটি পঠনযোগ্য এবং এটি পড়ার পরে, আপনি অবিলম্বে কোড স্বরলিপিগুলির পরিবর্তে অক্ষরটি নিজেই দেখতে পাবেন। অন্যদিকে, যদি অন্য লোকেরা আপনার কোড নিয়ে কাজ শুরু করে তবে এটি বিস্মিত হতে পারে।

\uস্বরলিপিটি ব্যবহার করার মতো var Omega = '\u03A9', চরিত্রের এনকোডিংয়ের ক্ষেত্রে স্বাধীনভাবে কাজ করে এবং এটি প্রায় সর্বজনীনভাবে অনুশীলন করে। তবে এটি কেবলমাত্র ইউ + এফএফএফএফ পর্যন্ত ব্যবহার করা যেতে পারে, যেমন পর্যন্ত \uffff, তবে বেশিরভাগ চরিত্র যা বেশিরভাগ লোকেরা সেই অঞ্চলে পড়ার কথা শুনেছিল। (আপনার যদি "উচ্চতর" অক্ষর প্রয়োজন হয় তবে আপনাকে সার্গেট জুড়ি বা উপরের দুটি পদ্ধতির একটি ব্যবহার করতে হবে))

আপনি String.fromCharCode()পদ্ধতিটি ব্যবহার করে একটি অক্ষরও তৈরি করতে পারেন , ইউনিকোড নম্বর হিসাবে প্যারামিটার হিসাবে পাস করে, দশমিক হিসাবে var Omega = String.fromCharCode(937)বা হেক্সাডেসিমাল হিসাবে var Omega = String.fromCharCode(0x3A9)। এটি ইউ + এফএফএফএফ পর্যন্ত কাজ করে। আপনার চলকটিতে ইউনিকোড নম্বর থাকলেও এই পদ্ধতিটি ব্যবহার করা যেতে পারে।


18
টাইমস এখন পরিবর্তিত হয়েছে, 5 বছর পরে, লোকেরা U+FFFFরেঞ্জের বাইরে "ইমোজি" নামে এই জিনিসগুলি ব্যবহার করে । জাভাস্ক্রিপ্টেরও রয়েছে, তাই আপনি এটি করতে পারেন। var poop = '\u{1F4A9}';
ব্যবহারকারী যে

1
@Userthatisnotauser এবং যে গৃহীত উত্তর হওয়া উচিত!
মার্টেন কোয়েটিসিয়ার

আপনি কীভাবে জাভাস্ক্রিপ্টে '0x1F512' নামক একটি কোড ব্যবহার করে 'ওপেন লক' অক্ষর 'D uD83D \ uDD13' সন্নিবেশ করতে পারেন? এবং কেন একটি চরিত্র সন্নিবেশ করতে আমাদের দুটি কোডের প্রয়োজন?
তারেকাহফ

5
@ তারেকাহফ ইউনিকোড সম্পর্কে একটি সংক্ষিপ্ত পাঠ এখানে's ইউটিএফ -16 কেবল ইউনিকোড পয়েন্ট U + 0000 থেকে ইউ + এফএফএফএফ-তে প্রসারিত। তারপরে ইউনিকোড বৃদ্ধি পেয়েছে এবং সার্গেটগুলি আবিষ্কার করা হয়েছিল যাতে ইউটিএফ -16 এই পয়েন্টগুলিতে অ্যাক্সেস করতে পারে। তবে জাভাস্ক্রিপ্ট এখনই এটি করতে পারে: var lock = '\u{1F512}'এবং আপনি এটি পান: User
ব্যবহারকারী যে ব্যবহারকারী নন

4

উত্তরটি সঠিক, তবে আপনাকে ভেরিয়েবল ঘোষণার দরকার নেই। একটি স্ট্রিং আপনার অক্ষর ধারণ করতে পারে:

"This string contains omega, that looks like this: \u03A9"

দুর্ভাগ্যক্রমে এখনও ইউএসএফ -8 প্রদর্শনের জন্য এএসসিআইআই-র এই কোডগুলি প্রয়োজন, তবে আমি এখনও অপেক্ষায় রয়েছি (অনেক বছর ধরে ...) যেদিন ইউটিএফ -8 ASCII এর মতো হবে, এবং ASCII কেবলমাত্র একটি স্মরণ থাকবে গত।


9
ইমোজি সেই কোডগুলি টাইপ করা আরও শক্ত করে তোলে! \u{1F641}= 🙁
ব্যবহারকারী যে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.