CodeGym/Java Blog/சீரற்ற/ஜாவா எஸ்கேப் கேரக்டர்கள்
John Squirrels
நிலை 41
San Francisco

ஜாவா எஸ்கேப் கேரக்டர்கள்

சீரற்ற குழுவில் வெளியிடப்பட்டது
members
வணக்கம்! முந்தைய பாடங்களில், ஜாவாவில் உள்ள ஸ்டிரிங் வகுப்பால் குறிப்பிடப்படும் உரைச் சரங்களை நாங்கள் ஏற்கனவே அறிந்திருக்கிறோம் . நீங்கள் நினைவில் வைத்திருப்பது போல், சரம் என்பது எழுத்துக்களின் வரிசை. இந்த எழுத்துக்கள் ஏதேனும் எழுத்துகள், எண்கள், நிறுத்தற்குறிகள் மற்றும் பலவாக இருக்கலாம். ஒரு சரத்தை உருவாக்கும் போது முக்கிய விஷயம் என்னவென்றால், முழு வரிசையும் மேற்கோள் குறிகளில் இணைக்கப்பட வேண்டும்:
public class Main {
   public static void main(String[] args) {
       String alex = new String ("My name is Alex. I'm 20!");
   }
}
ஆனால் மேற்கோள் குறிகளைக் கொண்ட ஒரு சரத்தை உருவாக்க வேண்டும் என்றால் நாம் என்ன செய்வது? உதாரணமாக, உங்களுக்குப் பிடித்த புத்தகத்தைப் பற்றி உலகிற்குச் சொல்ல விரும்புகிறோம் என்று வைத்துக்கொள்வோம்:
public class Main {
   public static void main(String[] args) {
       String myFavoriteBook = new String ("My favorite book is "Twilight" by Stephanie Meyer");
   }
}
தொகுப்பாளர் ஏதோ மகிழ்ச்சியடையவில்லை போலும்! பிரச்சனை என்னவாக இருக்கும் என்று நினைக்கிறீர்கள்? மேற்கோள் குறிகளுக்கும் இதற்கும் என்ன சம்பந்தம்? உண்மையில், எல்லாம் மிகவும் எளிமையானது. கம்பைலர் மேற்கோள் குறிகளை மிகவும் குறிப்பிட்ட முறையில் விளக்குகிறது, அதாவது சரங்கள் அவற்றில் சுற்றப்பட வேண்டும் என்று எதிர்பார்க்கிறது. ஒவ்வொரு முறையும் கம்பைலர் "ஐப் பார்க்கும் போது, ​​மேற்கோள் குறியைத் தொடர்ந்து இரண்டாவது மேற்கோள் குறி வரும் என்றும், அவற்றுக்கிடையே உள்ள உள்ளடக்கம் தொகுப்பாளரால் உருவாக்கப்படும் ஒரு சரத்தின் உரை என்றும் எதிர்பார்க்கிறது. எங்கள் விஷயத்தில், மேற்கோள் சுற்றி குறியிடப்படும். "ட்விலைட்" என்ற வார்த்தை மற்ற மேற்கோள் குறிகளுக்குள் உள்ளது. தொகுப்பாளர் இந்த உரையை அடையும் போது, ​​அது என்ன செய்ய வேண்டும் என்று எதிர்பார்க்கப்படுகிறது என்று புரியவில்லை. மேற்கோள் குறி ஒரு சரத்தை உருவாக்க வேண்டும் என்று அறிவுறுத்துகிறது. ஆனால் அதுதான் கம்பைலர் ஆகும். ஏற்கனவேசெய்து! இங்கே ஏன்: எளிமையாகச் சொன்னால், கம்பைலர் என்ன செய்ய வேண்டும் என்று எதிர்பார்க்கப்படுகிறது என்பதில் குழப்பம் அடைகிறது. "மற்றொரு மேற்கோள் குறியா? இது ஏதேனும் பிழையா? நான் ஏற்கனவே ஒரு சரத்தை உருவாக்கி உள்ளேன்! அல்லது இன்னொன்றை உருவாக்க வேண்டுமா? சரி!...:/" மேற்கோள் குறி ஒரு கட்டளையாக இருக்கும் போது தொகுப்பாளருக்குத் தெரியப்படுத்த வேண்டும் ( "ஒரு சரத்தை உருவாக்கு!") மற்றும் அது ஒரு எழுத்தாக இருக்கும்போது ("ட்விலைட்" என்ற வார்த்தையை மேற்கோள் குறிகளுடன் காட்டவும்!"). இதைச் செய்ய, ஜாவா கேரக்டர் எஸ்கேப்பிங்கைப் பயன்படுத்துகிறது . இது ஒரு சிறப்பு குறியீட்டைப் பயன்படுத்தி நிறைவேற்றப்படுகிறது: \ . இந்த குறியீடு பொதுவாக "பின்சாய்வு" என்று அழைக்கப்படுகிறது. ஜாவாவில், "தப்பிக்க" ஒரு பாத்திரத்துடன் இணைந்த பின்சாய்வு ஒரு கட்டுப்பாட்டு வரிசை என்று அழைக்கப்படுகிறது . உதாரணமாக, \"திரையில் மேற்கோள் குறிகளைக் காண்பிப்பதற்கான ஒரு கட்டுப்பாட்டு வரிசை. உங்கள் குறியீட்டில் இந்த கட்டமைப்பை சந்தித்தவுடன், இது திரையில் காட்டப்பட வேண்டிய மேற்கோள் குறி மட்டுமே என்பதை கம்பைலர் புரிந்துகொள்வார். புத்தகத்துடன் நமது குறியீட்டை மாற்ற முயற்சிப்போம்:
public static void main(String[] args) {
       String myFavoriteBook = new String ("My favorite book is \"Twilight\" by Stephanie Meyer");
       System.out.println(myFavoriteBook);
   }
}
எங்கள் இரண்டு "உள்" மேற்கோள் குறிகளிலிருந்து தப்பிக்க \ ஐப் பயன்படுத்தினோம் . பிரதான() முறையை இயக்க முயற்சிப்போம் ... கன்சோல் வெளியீடு:
My favorite book is "Twilight" by Stephanie Meyer
சிறப்பானது! குறியீடு நாம் விரும்பியபடி சரியாக வேலை செய்தது! மேற்கோள் குறிகள் மட்டுமே நாம் தப்பிக்க வேண்டிய எழுத்துக்கள் இல்லை. நம் வேலையைப் பற்றி யாரிடமாவது சொல்ல விரும்புகிறோம் என்று வைத்துக்கொள்வோம்:
public class Main {
   public static void main(String[] args) {
       String workFiles= new String ("My work files are in D:\Work Projects\java");
       System.out.println(workFiles);
   }
}
இன்னொரு பிழை! ஏன் என்று உங்களால் யூகிக்க முடிகிறதா? மீண்டும், கம்பைலருக்கு என்ன செய்வது என்று புரியவில்லை. எல்லாவற்றிற்கும் மேலாக, கம்பைலருக்கு \ என்பது கட்டுப்பாட்டு வரிசையைத் தவிர வேறு எதுவும் தெரியாது ! பின்சாய்வுக்கு ஒரு குறிப்பிட்ட எழுத்து தொடர்ந்து வர வேண்டும் என்று எதிர்பார்க்கிறது, அது எப்படியாவது ஒரு சிறப்பு வழியில் (மேற்கோள் குறி போன்றவை) விளக்க வேண்டும். ஆனால், இந்த வழக்கில், \ தொடர்ந்து சாதாரண எழுத்துக்கள் வரும். அதனால் கம்பைலர் மீண்டும் குழப்பமடைந்தார். நாம் என்ன செய்ய வேண்டும்? முன்பு இருந்ததைப் போலவே: எங்கள் \ இல் இன்னொன்றைச் சேர்க்கிறோம் !
public class Main {

   public static void main(String[] args) {

       String workFiles= new String ("My work files are in D:\\Work Projects\\java");
       System.out.println(workFiles);

   }
}
நமக்கு என்ன கிடைக்கிறது என்று பார்ப்போம்: கன்சோல் வெளியீடு:
My work files are in D:\Work Projects\java
அருமை! \ என்பது மற்ற எழுத்துக்களுடன் காட்டப்பட வேண்டிய சாதாரண எழுத்துக்கள் என்பதை கம்பைலர் உடனடியாக தீர்மானிக்கிறது . ஜாவாவில் நிறைய கட்டுப்பாட்டு காட்சிகள் உள்ளன. முழு பட்டியல் இதோ:
  • \t - தாவல்.
  • \b - பேக்ஸ்பேஸ் (உரையில் ஒரு படி பின்னோக்கி அல்லது ஒரு எழுத்தை நீக்குதல்).
  • \n - புதிய வரி.
  • \r - வண்டி திரும்புதல். ()
  • \f - வடிவம் ஊட்டம்.
  • \' ஒற்றை மேற்கோள்.
  • \" இரட்டை மேற்கோள்.
  • \\ பின்சாய்வு.
இவ்வாறு, கம்பைலர் உரையில் \n ஐக் கண்டால், இது கன்சோலில் காட்டுவதற்கான ஒரு சின்னம் மற்றும் கடிதம் மட்டுமல்ல, மாறாக "புதிய வரிக்கு நகர்த்து!" என்ற சிறப்புக் கட்டளை என்பதை அது புரிந்துகொள்கிறது. எடுத்துக்காட்டாக, ஒரு கவிதையின் பகுதியைக் காட்ட விரும்பினால் இது பயனுள்ளதாக இருக்கும்:
public class Main {
   public static void main(String[] args) {
       String byron = new String ("She walks in beauty, like the night, \nOf cloudless climes and starry skies\nAnd all that's best of dark and bright\nMeet in her aspect and her eyes...");
       System.out.println(byron);
   }
}
இங்கே நாம் பெறுவது: கன்சோல் வெளியீடு:
She walks in beauty, like the night,
Of cloudless climes and starry skies
And all that's best of dark and bright
Meet in her aspect and her eyes...
நாம் விரும்பியது தான்! தொகுப்பாளர் தப்பிக்கும் வரிசையை அங்கீகரித்து, கவிதையின் ஒரு பகுதியை 4 வரிகளில் வெளியிட்டார்.

யூனிகோட் எழுத்துக்களை எஸ்கேப் செய்யவும்

தப்பிக்கும் எழுத்துகள் தொடர்பாக நீங்கள் தெரிந்து கொள்ள வேண்டிய மற்றொரு முக்கியமான தலைப்பு யூனிகோட். யூனிகோட் என்பது ஒரு நிலையான எழுத்துக்குறி குறியாக்கம் ஆகும், இது உலகில் உள்ள ஒவ்வொரு எழுத்து மொழியின் குறியீடுகளையும் உள்ளடக்கியது. வேறு வார்த்தைகளில் கூறுவதானால், இது எந்த மொழியிலும் கிட்டத்தட்ட ஒவ்வொரு எழுத்தையும் குறிக்கும் சிறப்பு குறியீடுகளின் பட்டியல்! இயற்கையாகவே, இது மிக நீண்ட பட்டியல் மற்றும் யாரும் இதயத்தால் கற்றுக்கொள்ள மாட்டார்கள் :) இது எங்கிருந்து வந்தது, ஏன் தேவைப்பட்டது என்பதை நீங்கள் அறிய விரும்பினால், இந்த தகவல் கட்டுரையைப் படியுங்கள்: https://docs.oracle.com/javase/tutorial/ i18n/text/unicode.html அனைத்து யூனிகோட் எழுத்துக்குறி குறியீடுகளும் " u" என்ற வடிவத்தைக் கொண்டுள்ளன+<ஹெக்ஸாடெசிமல் இலக்கம்>". எடுத்துக்காட்டாக, நன்கு அறியப்பட்ட பதிப்புரிமை சின்னம் u00A9 ஆல் குறிக்கப்படுகிறது. எனவே, ஜாவாவில் உரையுடன் பணிபுரியும் போது இந்த எழுத்தைப் பயன்படுத்த வேண்டும் என்றால், உங்கள் உரையில் அதைத் தவிர்க்கலாம்! எடுத்துக்காட்டாக, நாங்கள் விரும்புகிறோம் இந்த பாடத்திற்கான பதிப்புரிமை CodeGym க்கு சொந்தமானது என்பதை அனைவருக்கும் தெரிவிக்க:
public class Main {
   public static void main(String[] args) {
       System.out.println("\"Escaping characters\", \u00A9 2019 CodeGym");
   }
}
கன்சோல் வெளியீடு:
"Escaping characters", © 2019 CodeGym
அருமை, எல்லாம் பலனளித்தது! ஆனால் இது சிறப்பு சின்னங்களைப் பற்றியது அல்ல! வெவ்வேறு மொழிகளில் ஒரே நேரத்தில் எழுதப்பட்ட உரையை குறியாக்க யூனிகோட் மற்றும் எஸ்கேப் கேரக்டர்களைப் பயன்படுத்தலாம். மேலும் ஒரே மொழியின் பல்வேறு பேச்சுவழக்குகளில் எழுதப்பட்ட உரையும் கூட!
public class Main {
   public static void main(String[] args) {

       System.out.println("\u004d\u0061\u006f \u005a\u0065\u0064\u006f\u006e\u0067 " +

               "\u0028\u0054\u0072\u0061\u0064\u0069\u0074\u0069\u006f\u006e\u0061\u006c " +

               "\u0043\u0068\u0069\u006e\u0065\u0073\u0065\u003a \u6bdb\u6fa4\u6771\u002c " +

               "\u0053\u0069\u006d\u0070\u006c\u0069\u0066\u0069\u0065\u0064 " +

               "\u0043\u0068\u0069\u006e\u0065\u0073\u0065\u003a \u6bdb\u6cfd\u4e1c\u002c " +

               "\u0050\u0069\u006e\u0079\u0069\u006e\u003a \u004d\u00e1\u006f " +

               "\u005a\u00e9\u0064\u014d\u006e\u0067\u0029 \u0077\u0061\u0073 \u0061 " +

               "\u0032\u0030\u0074\u0068\u002d\u0063\u0065\u006e\u0074\u0075\u0072\u0079 " +

               "\u0043\u0068\u0069\u006e\u0065\u0073\u0065 " +

                "\u0073\u0074\u0061\u0074\u0065\u0073\u006d\u0061\u006e\u002c " +

               "\u0070\u006f\u006c\u0069\u0074\u0069\u0063\u0069\u0061\u006e\u002c " +

               "\u0061\u006e\u0064 \u0074\u0068\u0065 \u0063\u0068\u0069\u0065\u0066 " +

               "\u0074\u0068\u0065\u006f\u0072\u0065\u0074\u0069\u0063\u0069\u0061\u006e " +

               "\u006f\u0066 \u004d\u0061\u006f\u0069\u0073\u006d\u002e");
   }
}
கன்சோல் வெளியீடு:
Mao Zedong (Traditional Chinese: 毛澤東, Simplified Chinese: 毛泽东, Pinyin: Máo Zédōng) was a 20th-century Chinese statesman, politician, and the chief theoretician of Maoism.
இந்த எடுத்துக்காட்டில், ஆங்கிலம் மற்றும் மூன்று(!) வெவ்வேறு வகையான சீன எழுத்துக்கள் - பாரம்பரிய, எளிமைப்படுத்தப்பட்ட மற்றும் லத்தீன் (பின்யின்) ஆகியவற்றைக் கொண்ட சரத்தை உருவாக்க எழுத்துக் குறியீடுகளைப் பயன்படுத்தினோம். அது பற்றி சுருக்கமாக! உங்கள் வேலையில் இந்த சிறந்த கருவியைப் பயன்படுத்த, எழுத்துக்களை தப்பிப்பது பற்றி இப்போது உங்களுக்கு போதுமான அளவு தெரியும் :) நீங்கள் கற்றுக்கொண்டதை வலுப்படுத்த, எங்கள் ஜாவா பாடத்திட்டத்திலிருந்து வீடியோ பாடத்தைப் பார்க்க பரிந்துரைக்கிறோம்.
கருத்துக்கள்
  • பிரபலமானவை
  • புதியவை
  • பழையவை
ஒரு கருத்தைத் தெரிவிக்க நீங்கள் உள்நுழைந்திருக்க வேண்டும்
இந்தப் பக்கத்தில் இதுவரை எந்தக் கருத்தும் வழங்கப்படவில்லை