কীভাবে এএসসিআইআই কোড (0-255) এর সংশ্লিষ্ট চরিত্রে রূপান্তর করবেন?


135

আমি জাভাতে কীভাবে ASCII কোড ([0, 255] পরিসীমা থেকে পূর্ণসংখ্যা) এর সম্পর্কিত ASCII অক্ষরে রূপান্তর করতে পারি?

উদাহরণ স্বরূপ:

65  -> "A"
102 -> "f"

3
এটি উপরে বর্ণিত সদৃশ নয়। এটি পূর্ণসংখ্যার থেকে নয় বরং চর (আসকি) থেকে রূপান্তর
চতুরাঙ্গ চন্দ্রশেখর

11
"কীভাবে

1
@ ফুজি আমি মনে করি যে পোস্টটি কীভাবে 1 -> "1" ইত্যাদি রূপান্তর করতে পারে
বেলগি

1
@pst - এটি ASII ;-) প্রসারিত
বেলগি

3
@ বেলগি - আপনি যদি 128-255 মান সঠিকভাবে ট্রান্সকোড করতে চান তবে আপনাকে অবশ্যই আপনার এনকোডিংটি স্পষ্টভাবে জানাতে হবে। "বর্ধিত এএসসিআইআই" শব্দটি অর্থবহ নয়।
ম্যাকডোয়েল

উত্তর:


244

MIDP 2 জন্য / CLDC 1.1 ভিত্তিক প্ল্যাটফর্মের (যা না Character.toString(char), stackoverflow.com/a/6210938/923560 অতিরিক্ত সমাধান প্রদান করে।
Abdull

(char)পদবি দেওয়ার কারণ কী ? অন্য কথায়, আমি কেন রাখতে পারি না Character.toString(i);? (জাভা নুব)
অ্যাডাম হিউজ

1
নোট করুন যে এটি Integerধরণের জন্য কাজ করবে না , আপনি একটি "java.lang.Integer java.lang.Character" ত্রুটিতে কাস্ট করতে পারবেন না। intপ্রথমটিতে একটি কাস্ট যুক্ত করুন , উদাহরণস্বরূপ: Character.toString((char)(int)myInteger);
gbmhunter

1
iমান (0-255) ISO-8859-1- চরিত্র সেট থেকে হতে হবে। (প্রশ্নকর্তা এই উত্তরটি গ্রহণ না করে কোন "বর্ধিত ASCII" [অস্পষ্ট শব্দ] চেয়েছিলেন তা সনাক্ত করতে অস্বীকৃতি জানিয়েছিলেন।)
টম ব্লডজেট

59

System.out.println((char)65); "এ" মুদ্রণ করবে


2
রিপল টিপ: আপনি যদি জেএসেল (জাভা 9) ব্যবহার করে থাকেন তবে আপনি System.out বাদ দিতে পারেন। (char) 65এটি কী চরিত্র তা খুঁজে পেতে কেবল টাইপ করুন ।
ডেভিডএস

2
প্রশ্ন মুদ্রণ নয় রূপান্তর সম্পর্কে।
এপ্রিল

29

String.valueOf(Character.toChars(int))

অনুমান হিসাবে ধরে নেওয়া যায় যে আপনি 0 এবং 255 এর মধ্যেই বলেছেন, আপনি একটি একক অক্ষর সহ একটি অ্যারে পাবেন Character.toCharsযা থেকে পাস করার পরে এটি একটি একক-অক্ষরের স্ট্রিং হয়ে যাবে String.valueOf

ব্যবহার Character.toCharsথেকে একটি ঢালাই জড়িত পদ্ধতি বাঞ্ছনীয় intথেকে char(অর্থাত (char) iকারণের একটি নম্বর জন্য) সহ Character.toCharsএকটি নিক্ষেপ করা হবে IllegalArgumentExceptionযদি আপনি সঠিকভাবে পূর্ণসংখ্যা যাচাই করতে যখন ঢালাই ত্রুটি (প্রতি গ্রাস করবে ব্যর্থ সংকীর্ণ আদিম ধর্মান্তর স্পেসিফিকেশন ), সম্ভাব্য দান আপনি যা চেয়েছিলেন তা ব্যতীত অন্য একটি আউটপুট।


Assuming যে পূর্ণসংখ্যা 0 255 সীমার মধ্যে থাকে (আপনি রাষ্ট্রীয় যে আপনি কি ... এবং প্রশ্ন নির্দিষ্ট করে হিসাবে), এটা অপ্রয়োজনীয় এবং ব্যবহার করা দরুণ পর্যাপ্ত হয় toChars
স্টিফেন সি

5
আপনি সম্পূর্ণরূপে সঠিক যে মত ভালো কিছু Character.toString((char) i)চেয়ে দ্রুত String.valueOf(Character.toChars(i))। আমার মেশিনে প্রদত্ত পরিসরে 1000,000 এলোমেলো পূর্ণসংখ্যার রূপান্তর (100 বার, নিরাপদ হতে) রূপান্তর করার দ্রুত মানদণ্ড চালানো গড়ে 153.07 ন্যানোসেকেন্ড বনাম 862.39 ন্যানোসেকেন্ডের সময় দেয়। যাইহোক, যে কোনও আকর্ষণীয় অ্যাপ্লিকেশনটিতে আরও অনেক গুরুত্বপূর্ণ বিষয় অনুকূলিতকরণের জন্য থাকবে। সুরক্ষিত, সংযোজনীয় হ্যান্ডলিং এবং [0,255] সীমার বাইরে সম্প্রসারণের স্বাচ্ছন্দ্যের অতিরিক্ত মূল্য এটি অপ্রয়োজনীয় পারফরম্যান্সের হিটের চেয়েও বেশি হওয়া উচিত।
zjs


4
    new String(new char[] { 65 })

আপনি দৈর্ঘ্যের একটি স্ট্রিংয়ের সাথে শেষ করবেন, যার একক অক্ষরটিতে (ASCII) কোড 65 রয়েছে Java জাভা চরগুলিতে সংখ্যার ডেটা টাইপ থাকে।


1

একটি এটি থেকে z এর মতো পুনরাবৃত্তি করতে পারে

int asciiForLowerA = 97;
int asciiForLowerZ = 122;
for(int asciiCode = asciiForLowerA; asciiCode <= asciiForLowerZ; asciiCode++){
    search(sCurrentLine, searchKey + Character.toString ((char) asciiCode));
}

1

এটি করার একটি সহজ উপায়:

চরিত্রটিতে কাস্ট পূর্ণসংখ্যা টাইপ করুন, পূর্ণসংখ্যা যাক int n, তারপরে:

Char c=(char)n;
System.out.print(c)//char c will store the converted value.

0
    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);

আপনার উত্তরটি দয়া করে ব্যাখ্যা করুন
17'7

0

কেন এটি এমন পদ্ধতিতে সরলীকরণ করবেন না যা আসকি চরিত্রটি ফিরিয়ে দেয়?

public char toAscii (int input) {
    return (char)input;
}

-1

এটি একটি উদাহরণ, যা দেখায় যে কোনও ইনটকে চরে রূপান্তরিত করে, কোনও এটির সাথে সম্পর্কিত অক্ষরকে ASCII কোডে নির্ধারণ করতে পারে।

public class sample6
{
    public static void main(String... asf)
    {

        for(int i =0; i<256; i++)
        {
            System.out.println( i + ". " + (char)i);
        }
    }
}

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.