আমি জাভাতে কীভাবে ASCII কোড ([0, 255] পরিসীমা থেকে পূর্ণসংখ্যা) এর সম্পর্কিত ASCII অক্ষরে রূপান্তর করতে পারি?
উদাহরণ স্বরূপ:
65 -> "A"
102 -> "f"
আমি জাভাতে কীভাবে ASCII কোড ([0, 255] পরিসীমা থেকে পূর্ণসংখ্যা) এর সম্পর্কিত ASCII অক্ষরে রূপান্তর করতে পারি?
উদাহরণ স্বরূপ:
65 -> "A"
102 -> "f"
উত্তর:
Character.toString(char)
, stackoverflow.com/a/6210938/923560 অতিরিক্ত সমাধান প্রদান করে।
(char)
পদবি দেওয়ার কারণ কী ? অন্য কথায়, আমি কেন রাখতে পারি না Character.toString(i);
? (জাভা নুব)
Integer
ধরণের জন্য কাজ করবে না , আপনি একটি "java.lang.Integer java.lang.Character" ত্রুটিতে কাস্ট করতে পারবেন না। int
প্রথমটিতে একটি কাস্ট যুক্ত করুন , উদাহরণস্বরূপ: Character.toString((char)(int)myInteger);
i
মান (0-255) ISO-8859-1- চরিত্র সেট থেকে হতে হবে। (প্রশ্নকর্তা এই উত্তরটি গ্রহণ না করে কোন "বর্ধিত ASCII" [অস্পষ্ট শব্দ] চেয়েছিলেন তা সনাক্ত করতে অস্বীকৃতি জানিয়েছিলেন।)
String.valueOf
(
Character.toChars(int)
)
অনুমান হিসাবে ধরে নেওয়া যায় যে আপনি 0 এবং 255 এর মধ্যেই বলেছেন, আপনি একটি একক অক্ষর সহ একটি অ্যারে পাবেন Character.toChars
যা থেকে পাস করার পরে এটি একটি একক-অক্ষরের স্ট্রিং হয়ে যাবে String.valueOf
।
ব্যবহার Character.toChars
থেকে একটি ঢালাই জড়িত পদ্ধতি বাঞ্ছনীয় int
থেকে char
(অর্থাত (char) i
কারণের একটি নম্বর জন্য) সহ Character.toChars
একটি নিক্ষেপ করা হবে IllegalArgumentException
যদি আপনি সঠিকভাবে পূর্ণসংখ্যা যাচাই করতে যখন ঢালাই ত্রুটি (প্রতি গ্রাস করবে ব্যর্থ সংকীর্ণ আদিম ধর্মান্তর স্পেসিফিকেশন ), সম্ভাব্য দান আপনি যা চেয়েছিলেন তা ব্যতীত অন্য একটি আউটপুট।
toChars
।
Character.toString((char) i)
চেয়ে দ্রুত String.valueOf(Character.toChars(i))
। আমার মেশিনে প্রদত্ত পরিসরে 1000,000 এলোমেলো পূর্ণসংখ্যার রূপান্তর (100 বার, নিরাপদ হতে) রূপান্তর করার দ্রুত মানদণ্ড চালানো গড়ে 153.07 ন্যানোসেকেন্ড বনাম 862.39 ন্যানোসেকেন্ডের সময় দেয়। যাইহোক, যে কোনও আকর্ষণীয় অ্যাপ্লিকেশনটিতে আরও অনেক গুরুত্বপূর্ণ বিষয় অনুকূলিতকরণের জন্য থাকবে। সুরক্ষিত, সংযোজনীয় হ্যান্ডলিং এবং [0,255] সীমার বাইরে সম্প্রসারণের স্বাচ্ছন্দ্যের অতিরিক্ত মূল্য এটি অপ্রয়োজনীয় পারফরম্যান্সের হিটের চেয়েও বেশি হওয়া উচিত।
int number = 65;
char c = (char)number;
এটি একটি সহজ সমাধান
একটি এটি থেকে z এর মতো পুনরাবৃত্তি করতে পারে
int asciiForLowerA = 97;
int asciiForLowerZ = 122;
for(int asciiCode = asciiForLowerA; asciiCode <= asciiForLowerZ; asciiCode++){
search(sCurrentLine, searchKey + Character.toString ((char) asciiCode));
}
এটি করার একটি সহজ উপায়:
চরিত্রটিতে কাস্ট পূর্ণসংখ্যা টাইপ করুন, পূর্ণসংখ্যা যাক int n
, তারপরে:
Char c=(char)n;
System.out.print(c)//char c will store the converted value.
for (int i = 0; i < 256; i++) {
System.out.println(i + " -> " + (char) i);
}
char lowercase = 'f';
int offset = (int) 'a' - (int) 'A';
char uppercase = (char) ((int) lowercase - offset);
System.out.println("The uppercase letter is " + uppercase);
String numberString = JOptionPane.showInputDialog(null,
"Enter an ASCII code:",
"ASCII conversion", JOptionPane.QUESTION_MESSAGE);
int code = (int) numberString.charAt(0);
System.out.println("The character for ASCII code "
+ code + " is " + (char) code);
কেন এটি এমন পদ্ধতিতে সরলীকরণ করবেন না যা আসকি চরিত্রটি ফিরিয়ে দেয়?
public char toAscii (int input) {
return (char)input;
}
এটি একটি উদাহরণ, যা দেখায় যে কোনও ইনটকে চরে রূপান্তরিত করে, কোনও এটির সাথে সম্পর্কিত অক্ষরকে ASCII কোডে নির্ধারণ করতে পারে।
public class sample6
{
public static void main(String... asf)
{
for(int i =0; i<256; i++)
{
System.out.println( i + ". " + (char)i);
}
}
}
উপরের উত্তরটি কেবল সমস্যা সমাধানের কাছাকাছি। আপনার উত্তর heres:
পূর্ণসংখ্যা.ডেকোড (চরিত্র.টোস্ট্রিং (চর সি));