உள்ளடக்கத்திற்கு செல்

உரை மாற்றி: உரையை உடனடியாக மாற்றி மற்றும் எழுத்துகளை மாற்று

எந்த சரத்தையும் உடனடியாக மாற்ற இலவச ஆன்லைன் உரை மாற்றி கருவி. எழுத்துகளை மாற்று, பாலிண்ட்ரோம்கள் சரிபார்ப்பு, மற்றும் பின்னோக்கிய உரை உருவாக்கு. யுனிகோட், இமோஜி மற்றும் அனைத்து மொழிகளுடன் வேலை செய்கிறது.

உரை மாற்றி கருவி

எந்தவொரு உரையையும் கீழே உள்ளிடவும் அல்லது ஒட்டவும் மற்றும் உடனடியாக எழுத்துக்களின் வரிசையை மாற்றவும். தட்டச்சு செய்யும் போது நேரடி முடிவுகளைப் பார்க்கவும்.

ஏற்றுகிறது கணக்கிடுதல்...
📚

ஆவணம்

டெக்ஸ்ட் இன்வெர்டர் கருவி என்றால் என்ன?

ஒரு டெக்ஸ்ட் இன்வெர்டர் (மாற்று டெக்ஸ்ட் கருவி என்றும் அழைக்கப்படுகிறது) உங்கள் டெக்ஸ்டின் எழுத்துக்களின் வரிசையை மாற்றுகிறது - "Hello World" ஐ "dlroW olleH" ஆக மாற்றுகிறது. இது பாலிண்ட்ரோம் சரிபார்ப்பு முதல் டிசைன் வேலைக்கான மிரர் டெக்ஸ்ட் வரை பல்வேறு நோக்கங்களுக்கு மிகவும் பயனுள்ளதாக இருக்கும்.

கருவி நேரடியாக வேலை செய்கிறது: உங்கள் டெக்ஸ்டை ஒட்டுவதும் அல்லது தட்டச்சு செய்வதும் உடனடியாக மாற்றப்பட்ட டெக்ஸ்டைக் காண்பிக்கும். டெக்ஸ்ட் மாற்றம் சுவாரஸ்யமானது, ஏனெனில் இது மிகவும் எளிமையானது (பின்னோக்கிப் படிப்பது மட்டும்), மேலும் நிரல் வரிசைப்படுத்தல், மறைகுறியாக்கம் மற்றும் டெக்ஸ்ட் பகுப்பாய்வில் பயனுள்ள பயன்பாடுகளைச் சாத்தியப்படுத்துகிறது.

இங்கே ஒரு சுவாரஸ்யம் - நிரல் வடிவமைப்பாளர்கள் வழக்கு கண்டறிதலுக்கு, டிசைனர்கள் கண்ணுக்கு இனிய பாணிக்கு, மற்றும் கல்வியாளர்கள் சரம் கையாளுதலைக் கற்பிக்க டெக்ஸ்ட் மாற்றத்தைப் பயன்படுத்துவதைக் கண்டிருக்கிறேன். பாலிண்ட்ரோம் கண்டறிதல் வழிமுறைகளைச் சரிபார்க்கும்போது இது மிகவும் பொதுவான சூழல்.

உரை மாற்றியின் பயன்பாடு

இந்த மாற்றிய உரை கருவியைப் பயன்படுத்துவது மூன்று எளிய நிலைகளில் உள்ளது:

  1. உங்கள் உரையை உள்ளீடு புலத்தில் உள்ளிடவும் - நேரடியாக தட்டச்சு செய்யவும் அல்லது கிளிப்போர்டிலிருந்து ஒட்டவும்
  2. மாய வேலையைப் பார்க்கவும் மாற்றிய உரை உடனடியாக கீழே தோன்றும் (எதையும் சொடுக்க வேண்டிய அவசியமில்லை)
  3. முடிவை கொப்பி செய்யவும் கொப்பி பொத்தானைப் பயன்படுத்தி ஒரு சொடுக்கில்

கருவி அனைத்தையும் நேரடியாக செயல்படுத்துகிறது, இதன் அர்த்தம் நீங்கள் சோதித்து தட்டச்சு செய்யும்போதே முடிவுகளைக் காணலாம். எந்தவொரு எழுத்து அமைப்பிலும் வேலை செய்யும் - ஆங்கிலம், இமோஜி, சிறப்பு சின்னங்கள், யாப்பானிய அல்லது அரபிக் போன்ற மொழிகளின் யுனிகோட் எழுத்துக்கள் கூட.

உரை மாற்று சூத்திரம் மற்றும் வழிமுறை

SS நீளம் nn கொண்ட S=c1c2c3...cnS = c_1c_2c_3...c_n வரிசைக்கு, மாற்றிய வரிசை SS' பின்வருமாறு:

S=cncn1cn2...c1S' = c_nc_{n-1}c_{n-2}...c_1

நடைமுறையில், நிரலாக்குநர்கள் மூன்று முக்கிய அணுகுமுறைகளைப் பயன்படுத்துகிறார்கள்:

  1. அணி மாற்று: வரிசையை எழுத்துக்களாகப் பிரித்து, அணியை மாற்றி, பின் மீண்டும் இணைக்கவும். மிகவும் நேரடியாகவும் வாசிக்கக்கூடியதாகவும் உள்ளது.
  2. இரட்டை சுட்டிக்காட்டி தந்திரம்: இரண்டு முனைகளிலிருந்தும் தொடங்கி, நடுவை நோக்கி எழுத்துக்களை மாற்றவும். நினைவகத்தில் நேரடியாக மாற்ற முடிந்தால் நினைவக மிச்சம் ஏற்படும்.
  3. வரிசை-அடிப்படை அணுகுமுறை: எழுத்துக்களை வரிசைக்கு (LIFO அமைப்பு) தள்ளி, பின் வெளியேற்றவும். இது இயல்பாகவே வரிசையை மாற்றும்—மேலும் தரவு கட்டமைப்புகளுக்கு சிறந்த உதாரணம்.

செயல்திறன் பண்புகள்: உரை மாற்று O(n)O(n) நேர அளவுக்கு (கோடு வடிவம்) ஓடுகிறது ஏனெனில் ஒவ்வொரு எழுத்தும் ஒரு முறை மட்டுமே செயல்படுத்தப்படுகிறது. நினைவக அளவும் O(n)O(n) ஏனெனில் மாற்றிய வரிசையை சேமிக்க வேண்டும். பெரும்பாலான நடைமுறை பயன்பாட்டிற்கு, சில மெகாபைட்டுக்கு கீழ் உரைக்கு, செயல்திறன் உடனடியாக உள்ளது.

ஒரு கருத்து கவனிக்கத்தக்கது—பெரிய உரை கோப்புகளை (பதிவுகள் அல்லது தரவுத்தொகுப்புகள் போன்ற) மாற்றும்போது, ஒரே நேரத்தில் அனைத்தையும் நினைவகத்தில் ஏற்றாமல் ஓடும் அணுகுமுறைகளைப் பரிசீலிக்கலாம்.

வரிசை வழி உரை மாற்று செயல்முறை

உங்கள் உரையை மாற்று வழிமுறையை சரிவரப் பின்பற்ற அனுமதிக்கிறேன்:

  1. வெற்று முடிவுத் தொகுப்பில் தொடங்கவும்
  2. உள்ளீட்டின் கடைசி எழுத்தில் இருந்து பின்னோக்கி வாசிக்கவும்
  3. ஒவ்வொரு எழுத்தையும் முடிவுக்கு சேர்க்கவும்
  4. முதல் எழுத்தை அடைந்ததும் நிறுத்தவும்
  5. முடிக்கப்பட்ட மாற்றிய சரத்தை திருப்பவும்

நடைமுறை உதாரணம் "Hello, World!" உடன்:

1உள்ளீடு: "Hello, World!"
2நிலை 1: வெற்று முடிவு: ""
3நிலை 2: கடைசி எழுத்தை "!" எடுக்கவும் → முடிவு = "!"
4நிலை 3: "d" எடுக்கவும் → முடிவு = "!d"
5நிலை 4: "l" எடுக்கவும் → முடிவு = "!dl"
6நிலை 5: ஒவ்வொரு எழுத்தையும் தொடரவும்...
7இறுதி வெளியீடு: "!dlroW ,olleH"
8

வழிமுறை ஒவ்வொரு எழுத்தையும் ஒரே மாதிரி கையாளுகிறது—எது எழுத்தாக, எண்ணாக, தொடரிக்குறியாக, இடைவெளியாக அல்லது இமோஜியாக இருந்தாலும். அனைத்தும் மாற்றிய வெளியீட்டில் பாதுகாக்கப்படுகிறது. இந்த நிலையான கையாளுதல் பல்வேறு மொழிகள் மற்றும் எழுத்து தொகுப்புகளில் நம்பகமாக வேலை செய்வதற்கு காரணம் ஆகும்.

நீங்கள் அறிந்திருக்க வேண்டிய விளிம்பு நிலைமைகள்

உரை தலைகீழாக்கத்துடன் வேலை செய்யும்போது, நீங்கள் சில சுவாரஸ்யமான விளிம்பு நிலைமைகளைச் சந்திப்பீர்கள்:

வெற்று சரங்கள்: ஒரு வெற்று சரத்தைத் தலைகீழாக்கினால் நீங்கள் பெறுவது... ஒரு வெற்று சரம். சரியாக இருக்கிறதா? தலைகீழாக்க எதுவுமில்லை.

ஒற்றை எழுத்து: "A" ஐத் தலைகீழாக்கினால் நீங்கள் "A" ஐப் பெறுவீர்கள். இது தன்னுடைய தலைகீழாக்கம், அனைத்து ஒற்றை எழுத்துக்கள் போல.

யுனிகோட் மற்றும் இமோஜிகள்: இங்கு பொருள் சுவாரஸ்யமாக மாறுகிறது. வழிமுறை யுனிகோட்டை சரியாக கையாளுகிறது, இமோஜிகள், ஜப்பானிய எழுத்துக்கள், அரபிய எழுத்துக்கள் மற்றும் பிற லத்தீன் அல்லாத உரைகளைப் பொருத்தமாக. "こんにちは 🌍" உடன் சோதித்துப் பாருங்கள் மற்றும் நீங்கள் இது சரியாக வேலை செய்வதைக் காண்பீர்கள்.

வெற்றிடம் மற்றும் சிறப்பு எழுத்துக்கள்: இடைவெளிகள், தத்தல்கள், புதிய வரிகள், தொடரிடைகள் - அனைத்தும் சரியாக தலைகீழாக மாற்றப்படுகிறது. "Hello World" (3 இடைவெளிகளுடன்) "dlroW olleH" (இன்னும் 3 இடைவெளிகளுடன்) ஆகிறது.

மிகவும் நீண்ட உரை: மிகவும் பெரிய உள்ளீடுகளுக்கு (மெகாபைட்டுகள் உரையைக் கருதுங்கள்), நீங்கள் கிடைக்கும் நினைவகத்தால் வரம்பு செய்யப்படுகிறீர்கள். பெரும்பாலான நவீன சிஸ்டங்கள் இதை சில மெகாபைட்டுகள் வரை சரியாக கையாளுகின்றன, ஆனால் நீங்கள் கிகாபைட் அளவிலான கோப்புகளைப் பிரஸஸ் செய்கிறீர்கள் என்றால், நினைவகத்தில் அனைத்தையும் ஏற்றுக்கொள்வதற்குப் பதிலாக ஒரு ஸ்ட்ரீமிங் தீர்வை நீங்கள் விரும்பலாம்.

ஒன்று நான் கவனித்தேன்: கூட்டுப் பண்புகள் மற்றும் கிராஃபீம் தொகுப்புகள் சில சமயங்களில் எதிர்பாராத வகையில் நடந்துகொள்ளலாம். உதாரணமாக, தோல் நிற மாற்றிகளுடன் இமோஜிகள் தொழில்நுட்ப ரீதியாக பல யுனிகோட் குறியீட்டு புள்ளிகள் ஆகும். பெரும்பாலான நடைமுறைகள் இதைச் சரியாக கையாளுகின்றன, ஆனால் நீங்கள் சிக்கலான யுனிகோட்டுடன் வேலை செய்கிறீர்கள் என்றால் உங்கள் குறிப்பிட்ட பயன்பாட்டுடன் சோதிப்பது பயனுள்ளதாக இருக்கும்.

உண்மை உலக பயன்பாட்டு வழிகள் உரை மாற்றத்திற்கு

நீங்கள் உரை மாற்றம் எவ்வளவு அடிக்கடி பயன்படுத்தப்படுகிறது என்பதில் வியப்பு அடையலாம். இங்கே சில சூழ்நிலைகள் உள்ளன:

நிரலாக்கம் மற்றும் மேம்பாடு

பாலிண்ட்ரோம் சரிபார்ப்பு: ஒரு வார்த்தை முன்னும் பின்னும் ஒரே மாதிரி வாசிக்கப்படுகிறதா என்பதை சரிபார்க்க, அதை மாற்றி ஒப்பிடுங்கள். "racecar" → "racecar" (பொருந்துகிறது = பாலிண்ட்ரோம்).

சரம் வழிமுறை பயிற்சி: உரை மாற்றம் ஒரு கிளாசிக் நிரலாக்க நேர்காணல் பிரச்சனை, இது சரம் கையாளுதல் மற்றும் அடிப்படை தரவு அமைப்புகளை புரிந்துகொள்வதை சோதிக்கிறது.

தொகுப்பு நிறைவேற்ற காட்சிகள்: உரை மாற்றம் LIFO (கடைசியாக உள்ளிடப்பட்டது முதலில் வெளியேறுகிறது) நடத்தை சொல்வதற்கு சிறந்த எடுத்துக்காட்டு, ஏனெனில் ஒரு தொகுப்பு இயல்பாகவே வரிசையை மாற்றுகிறது.

மறைகுறியாக்கம் மற்றும் பாதுகாப்பு

அடிப்படை குறிமுறை: தனித்தனியாக பாதுகாப்பாக இல்லை, ஆனால் உரை மாற்றம் சில நேரங்களில் பல-நிலை குறிமுறை திட்டங்களில் ஒரு அடுக்காக பயன்படுத்தப்படுகிறது. இது உண்மையான மறைகுறியாக்கத்தை விட மறைப்பதற்கு அதிகம் சார்ந்தது.

சவால்-பதில் அமைப்புகள்: சில அங்கீகார அமைப்புகள் தங்கள் சரிபார்ப்பு செயல்முறையின் ஒரு பகுதியாக மாற்றிய சரங்களைப் பயன்படுத்துகின்றன.

கலாச்சார மற்றும் கல்வி பயன்பாடுகள்

வார்த்தை விளையாட்டுகள் மற்றும் புதிர்கள்: மாற்றிய வார்த்தைகளை அடையாளம் கண்டு கொள்ளும் சவாலுக்கு அல்லது தகவல்களை குறிகுறியாக்கம் செய்ய வழிவகுக்கும் சவால்கள் உருவாக்கவும்.

கண்ணாடி எழுத்து விளைவுகள்: வடிவமைப்பாளர்கள் சின்னங்கள், கலை விளைவுகள் அல்லது பிரதிபலிப்பை உள்ளடக்கிய காட்சிகளுக்கு மாற்றிய உரையைப் பயன்படுத்துகிறார்கள்.

கற்பிக்கும் கருவி: சரம் கையாளுதலை தொடக்கநிலை மாணவர்களுக்கு விளக்கும்போது, உரை மாற்றம் புரிந்துகொள்ள மிகவும் எளிது ஆனால் மீண்டும் மீண்டும் மற்றும் வரிசை கையாளுதலைப் பற்றிய முக்கிய கருத்துக்களை நிரூபிக்கும் அளவிற்கு சிக்கலானது.

உரை பகுப்பாய்வு

மொழியியல் ஆராய்ச்சி: மொழி வடிவங்களை ஆய்வு செய்யும் ஆராய்ச்சியாளர்கள் சில சமயம் உரையை முன்னும் பின்னும் பகுப்பாய்வு செய்வதன் மூலம் கட்டமைப்பு அம்சங்களை அடையாளம் காண்கிறார்கள்.

வடிவ கண்டறிதல்: உரையில் சமச்சீர்தன்மையைச் சரிபார்ப்பது அல்லது பெரிய தரவுத்தொகுப்பில் பதிவிடப்பட்ட மாற்றிய வரிசைகளைக் கண்டறிவது.

உரை மாற்றத்தின் வெவ்வேறு வகைகள்

எழுத்து-வாரியாக மாற்றம் மட்டுமே உங்கள் ஒரே தேர்வு அல்ல. நீங்கள் என்ன சாதிக்க முயற்சிக்கிறீர்கள் என்பதைப் பொறுத்து, இந்த மாற்று வழிகள் சிறப்பாக வேலை செய்யலாம்:

வார்த்தை மாற்றம்: ஒவ்வொரு வார்த்தையையும் முழுமையாக வைத்து அவற்றின் வரிசையை மாற்றவும்.

  • எடுத்துக்காட்டு: "Hello World" → "World Hello"

வாக்கிய மாற்றம்: வாக்கிய வரிசையை மாற்றவும் ஆனால் ஒவ்வொரு வாக்கியத்திற்குள் வார்த்தை வரிசையை பாதுகாக்கவும்.

  • எடுத்துக்காட்டு: "Hello World. How are you?" → "How are you? Hello World."

தேர்ந்தெடுக்கப்பட்ட மாற்றம்: உங்கள் அளவுகோல்கள் அடிப்படையில் மட்டும் குறிப்பிட்ட பகுதிகளை மாற்றவும்.

  • எடுத்துக்காட்டு: "Hello World" இல் மட்டும் உயிரெழுத்துகளை மாற்றினால் → "Hollo Werld"

ஒலி மாற்றம்: மொழியியல் ஆராய்ச்சியில் பயன்படுத்தப்படுகிறது, இது எழுத்துகளுக்கு பதிலாக ஒலிகளை மாற்றுகிறது.

பிட் மட்ட மாற்றம்: எழுத்துகளின் இருமம் வடிவத்தை மாற்றுகிறது. இதைக் காணலாம் சில மறைகுறியாக்க செயல்பாடுகளில் மற்றும் தாழ்நிலை தரவு கையாளுதலில்.

உரை மாற்றத்தின் வரலாறு

உரை மாற்றம் நீங்கள் நினைப்பதை விட மிக நீண்ட காலமாக இருந்து வருகிறது - தொன்மை எழுத்து முறைகளிலிருந்து நவீன கணினி வரை.

தொன்மை எழுத்து மற்றும் கண்ணாடி உரை

தொன்மை நாகரிகங்கள் கணினிகள் தோன்றுவதற்கு முன்பே திசை எழுத்துக்களுடன் சோதனை செய்தன. கிரேக்கர்கள் மற்றும் எகிப்தியர்கள் சில சமயங்களில் "பவுஸ்ட்ரோஃபெடன்" பாணியைப் பயன்படுத்தினர், அங்கு வரிகள் மாறி மாறி திசையில் அமைந்தன - இடமிருந்து வலம், பிறகு வலமிருந்து இடம், ஒரு மாடு வயலைப் பாய்ச்சுவது போல (இதுதான் "பவுஸ்ட்ரோஃபெடன்" பொருள்).

லியோனார்டோ டா வின்சி தனது நோட்டுப் புத்தகங்களை கண்ணாடி எழுத்துக்களால் நிரப்பினார், அங்கு உரை தலைகீழாக தோன்றும். வரலாற்றாளர்கள் இது ரகசியத்திற்காகவா, அவர் இடது கையால் இயல்பாகவா, அல்லது மை தடவப்படுவதைத் தடுக்கவா என்பது பற்றி விவாதிக்கிறார்கள். எந்தக் காரணமாக இருந்தாலும், அவரது நோட்டுப் புத்தகங்கள் உரை மாற்றம் நூற்றாண்டுகளாக ஒரு குறியீட்டு தந்திரமாகப் பயன்படுத்தப்பட்டது என்பதைக் காட்டுகின்றன.

கணினி காலம்

1950-60 களில் கணினிகள் தோன்றியபோது, சரம் கையாளுதல் ஒரு அடிப்படை நிரல் பயிற்சியாக மாறியது. உரை மாற்றம் அந்தக் கிளாசிக் பிரச்சினைகளில் ஒன்றாக இருந்தது, வரிசைப்படுத்தல் மற்றும் தேடலுக்கு அருகில்.

இதை மிகவும் சுவாரஸ்யமாக்கியது: தொகுப்பு தரவு கட்டமைப்புகளின் வளர்ச்சி இயல்பாகவே உரை மாற்றத்துடன் இணைந்தது. ஒரு தொகுப்பின் LIFO (கடைசியாக உள்ளிடப்பட்டது-முதலில் வெளியேற்றப்பட்டது) நடத்தை தானாகவே வரிசையை மாற்றுகிறது - "HELLO" எழுத்தை ஒவ்வொன்றாக தொகுப்பில் தள்ளுங்கள், அவற்றை வெளியேற்றுங்கள், நீங்கள் "OLLEH" பெறுவீர்கள். இந்த அழகிய தொடர்பு உரை மாற்றத்தை தரவு கட்டமைப்புகளைக் கற்பிக்கும் எடுத்துக்காட்டாக மாற்றியது.

நவீன பயன்பாடுகள்

இன்று, நீங்கள் உரை மாற்ற வழிமுறைகளைப் பின்னணியில் பார்ப்பீர்கள்:

  • கம்பைலர்கள் மற்றும் பார்சர்கள்: சொல்வடிவ பகுப்பாய்வு மற்றும் வெளிப்பாட்டு மதிப்பீட்டில் பயன்படுத்தப்படுகிறது
  • சரம் பொருந்தல் வழிமுறைகள்: பாயர்-மூர் வழிமுறை போன்ற வலமிருந்து இடமாக பாத்திரங்களைப் பகுக்கும் வழிமுறைகள்
  • மறைகுறியியல்: மிகக் கிளிஷ்ட மறைகுறி திட்டங்களின் கட்டமைப்பு கட்டங்கள்
  • இயற்கை மொழி செயலாக்கம்: மொழி வழிமுறைகளை பகுப்பாய்வு செய்தல், பாலிண்ட்ரோம்கள் கண்டறிதல் மற்றும் உரை அமைப்பை ஆராய்தல்

வழிமுறையின் எளிமை (இது நீங்கள் கற்கும் முதல் வழிமுறைகளில் ஒன்று) அதன் நடைமுறை பயன்பாட்டுடன் இணைந்து அதை அதன் முதல் நடைமுறைப்படுத்தலுக்குப் பிறகு பல தசாப்தங்கள் வரை சம்பந்தப்பட்டதாக வைக்கிறது.

கோட் எடுத்துக்காட்டுகள்: வெவ்வேறு மொழிகளில் உரை தலைகீழாக்கம்

பிரபலமான நscheduling மொழிகளில் உரை தலைகீழாக்கத்தை நடைமுறைப்படுத்தும் வழிமுறைகள் இங்கே உள்ளன. ஒவ்வொரு எடுத்துக்காட்டும் மையக் கணக்கீட்டு வழிமுறை மற்றும் நடைமுறைப் பயன்பாட்டைக் காட்டுகிறது:

1' எக்சல் VBA சார்பு உரை தலைகீழாக்கத்திற்கு
2Function InvertText(inputText As String) As String
3    Dim i As Integer
4    Dim result As String
5    
6    result = ""
7    For i = Len(inputText) To 1 Step -1
8        result = result & Mid(inputText, i, 1)
9    Next i
10    
11    InvertText = result
12End Function
13' அட்டவணையில் பயன்பாடு:
14' =InvertText("Hello, World!")
15

python original_text = "வணக்கம், உலகம்!" inverted_text = invert_text(original_text) print(f"மூல பாவனை: {original_text}") print(f"தலைகீழ் பாவனை: {inverted_text}")

யுனிகோட் எழுத்துக்கள் கையாளுதல்

unicode_text = "こんにちは世界! 🌍" inverted_unicode = invert_text(unicode_text) print(f"மூல யுனிகோட்: {unicode_text}") print(f"தலைகீழ் யுனிகோட்: {inverted_unicode}")

1
2

javascript function invertText(inputText) { return inputText.split('').reverse().join(''); }

// எடுத்துக்காட்டு பயன்பாடு: const originalText = "வணக்கம், உலகம்!"; const invertedText = invertText(originalText); console.log(மூல பாவனை: ${originalText}); console.log(தலைகீழ் பாவனை: ${invertedText});

// வெற்று சரம் கையாளுதல் console.log(வெற்று சரம் தலைகீழ்: "${invertText("")}");

// யுனிகோட் கையாளுதல் const unicodeText = "こんにちは世界! 🌍"; console.log(மூல யுனிகோட்: ${unicodeText}); console.log(தலைகீழ் யுனிகோட்: ${invertText(unicodeText)});

1
2

java public class TextInverter { public static String invertText(String inputText) { return new StringBuilder(inputText).reverse().toString(); }

public static void main(String[] args) {
    String originalText = "வணக்கம், உலகம்!";
    String invertedText = invertText(originalText);
    
    System.out.println("மூல பாவனை: " + originalText);
    System.out.println("தலைகீழ் பாவனை: " + invertedText);
    
    // யுனிகோட் எழுத்துக்கள் கையாளுதல்
    String unicodeText = "こんにちは世界! 🌍";
    String invertedUnicode = invertText(unicodeText);
    System.out.println("மூல யுனிகோட்: " + unicodeText);
    System.out.println("தலைகீழ் யுனிகோட்: " + invertedUnicode);
}

}

1
2

r invert_text <- function(input_text) {

எழுத்து வெக்டருக்கு மாற்று, தலைகீழ் மற்றும் இணைத்தல்

paste(rev(strsplit(input_text, "")[[1]]), collapse = "") }

எடுத்துக்காட்டு பயன்பாடு

original_text <- "வணக்கம், உலகம்!" inverted_text <- invert_text(original_text) cat("மூல பாவனை:", original_text, "\n") cat("தலைகீழ் பாவனை:", inverted_text, "\n")

1
2

matlab function invertedText = invertText(inputText) % சரத்தில் எழுத்துக்கள் வரிசையை தலைகீழ் செய்யும் செயல்பாடு invertedText = inputText(end:-1:1); end

% எடுத்துக்காட்டு பயன்பாடு originalText = 'வணக்கம், உலகம்!'; invertedText = invertText(originalText); fprintf('மூல பாவனை: %s\n', originalText); fprintf('தலைகீழ் பாவனை: %s\n', invertedText);

1
2

cpp #include #include #include

std::string invertText(const std::string& inputText) { std::string result = inputText; std::reverse(result.begin(), result.end()); return result; }

int main() { std::string originalText = "வணக்கம், உலகம்!"; std::string invertedText = invertText(originalText);

std::cout << "மூல பாவனை: " << originalText << std::endl;
std::cout << "தலைகீழ் பாவனை: " << invertedText << std::endl;

// வெற்று சரம் கையாளுதல்
std::cout << "வெற்று சரம் தலைகீழ்: \"" << invertText("") << "\"" << std::endl;

return 0;

}

1
2

ruby def invert_text(input_text) input_text.reverse end

எடுத்துக்காட்டு பயன்பாடு

original_text = "வணக்கம், உலகம்!" inverted_text = invert_text(original_text) puts "மூல பாவனை: #{original_text}" puts "தலைகீழ் பாவனை: #{inverted_text}"

யுனிகோட் எழுத்துக்கள் கையாளுதல்

unicode_text = "こんにちは世界! 🌍" inverted_unicode = invert_text(unicode_text) puts "மூல யுனிகோட்: #{unicode_text}" puts "தலைகீழ் யுனிகோட்: #{inverted_unicode}"

1
2

php

1
2

rust fn invert_text(input_text: &str) -> String { input_text.chars().rev().collect() }

fn main() { let original_text = "வணக்கம், உலகம்!"; let inverted_text = invert_text(original_text);

println!("மூல பாவனை: {}", original_text);
println!("தலைகீழ் பாவனை: {}", inverted_text);

// யுனிகோட் எழுத்துக்கள் கையாளுதல்
let unicode_text = "こんにちは世界! 🌍";
let inverted_unicode = invert_text(unicode_text);
println!("மூல யுனிகோட்: {}", unicode_text);
println!("தலைகீழ் யுனிகோட்: {}", inverted_unicode);

}

1
2

csharp using System;

class TextInverter { public static string InvertText(string inputText) { char[] charArray = inputText.ToCharArray(); Array.Reverse(charArray); return new string(charArray); }

static void Main()
{
    string originalText = "வணக்கம், உலகம்!";
    string invertedText = InvertText(originalText);
    
    Console.WriteLine($"மூல பாவனை: {originalText}");
    Console.WriteLine($"தலைகீழ் பாவனை: {invertedText}");
    
    // வெற்று சரம் கையாளுதல்
    Console.WriteLine($"வெற்று சரம் தலைகீழ்: \"{InvertText("")}\"");
    
    // யுனிகோட் எழுத்துக்கள் கையாளுதல்
    string unicodeText = "こんにちは世界! 🌍";
    string invertedUnicode = InvertText(unicodeText);
    Console.WriteLine($"மூல யுனிகோட்: {unicodeText}");
    Console.WriteLine($"தலைகீழ் யுனிகோட்: {invertedUnicode}");
}

}

1
2

go package main

import ( "fmt" )

func invertText(inputText string) string { runes := []rune(inputText) for i, j := 0, len(runes)-1; i < j; i, j = i+1, j-1 { runes[i], runes[j] = runes[j], runes[i] } return string(runes) }

func main() { originalText := "வணக்கம், உலகம்!" invertedText := invertText(originalText)

fmt.Printf("மூல பாவனை: %s\n", originalText)
fmt.Printf("தலைகீழ் பாவனை: %s\n", invertedText)

// யுனிகோட் எழுத்துக்கள் கையாளுதல்
unicodeText := "こんにちは世界! 🌍"
invertedUnicode := invertText(unicodeText)
fmt.Printf("மூல யுனிகோட்: %s\n", unicodeText)
fmt.Printf("தலைகீழ் யுனிகோட்: %s\n", invertedUnicode)

}

1
2

swift func invertText(_ inputText: String) -> String { return String(inputText.reversed()) }

// எடுத்துக்காட்டு பயன்பாடு let originalText = "வணக்கம், உலகம்!" let invertedText = invertText(originalText)

print("மூல பாவனை: (originalText)") print("தலைகீழ் பாவனை: (invertedText)")

// யுனிகோட் எழுத்துக்கள் கையாளுதல் let unicodeText = "こんにちは世界! 🌍" let invertedUnicode = invertText(unicodeText) print("மூல யுனிகோட்: (unicodeText)") print("தலைகீழ் யுனிகோட்: (invertedUnicode)")


## செயல்திறன் மேம்படுத்தல் குறிப்புகள்

உற்பத்தி குறியீட்டில் உரை தலைகீழாக்கத்துடன் வேலை செய்கிறீர்கள் என்றால், இங்கே கருத்தில் கொள்ள வேண்டிய செயல்திறன் காரணிகள் உள்ளன:

**நினைவக பயன்பாடு**: தலைகீழாக்கிய நகலை உருவாக்குவது உள்ளீட்டு அளவுக்கு சமமான நினைவகத்தைப் பயன்படுத்தும். சிறிய முதல் மத்திய அளவு உரைகளுக்கு (1 MB கீழ்), இது கணிக்கத்தக்கதல்ல. பெரிய உரைகளுக்கு, நீங்கள் தற்காலிகமாக நினைவக பயன்பாட்டை இரட்டிப்பாக்குகிறீர்கள்.

**இடத்தில் தலைகீழாக்கம்**: C, C++மற்றும் Rust போன்ற மொழிகள் ஒரு நகலை உருவாக்காமல் நேரடியாக நினைவகத்தில் எழுத்து வரிசைகளை தலைகீழாக மாற்ற அனுமதிக்கின்றன. இது நினைவக பயன்பாட்டை பாதியாக குறைக்கிறது ஆனால் மாற்றக்கூடிய உரைகளுக்கு மட்டுமே வேலை செய்கிறது. பல மொழிகள் (Python, JavaScript, Java) மாற்ற முடியாத உரைகளைப் பயன்படுத்துகின்றன, எனவே நீங்கள் புதிய ஒன்றை உருவாக்க வேண்டியிருக்கும்.

**யுனிகோட் கையாளுதல்**: இங்கு விஷயங்கள் சிக்கலாக மாறுகின்றன. பல-பைட் யுனிகோட் எழுத்துக்கள் சரியாக கையாளப்பட வேண்டும் அல்லது நீங்கள் குறிமுறை மாற்றத்தை கெடுத்துவிடுவீர்கள். பெரும்பாலான நவீன மொழி தரநிலை நூலகங்கள் இதை சரியாக கையாளுகின்றன, ஆனால் நீங்கள் கீழ்நிலை குறியீட்டை எழுதுகிறீர்கள் அல்லது நேரடியாக பைட் வரிசைகளுடன் வேலை செய்கிறீர்கள் என்றால் கவனமாக இருங்கள். எமோஜிகள் மற்றும் லத்தீன் அல்லாத எழுத்துருக்களுடன் சோதித்துப் பாருங்கள்.

**பெரிய கோப்புகளுக்கு ஸ்ட்ரீமிங்**: நீங்கள் கிகாபைட் அளவிலான பதிவுக் கோப்புகள் அல்லது தரவுத் தொகுப்புகளை தலைகீழாக்குகிறீர்கள் என்றால், அனைத்தையும் நினைவகத்தில் ஏற்றாதீர்கள். ஒரு ஸ்ட்ரீமிங் அணுகுமுறையைப் பயன்படுத்தவும் - முடிவிலிருந்து துண்டுகளைப் படிக்கவும், அவற்றை நீங்கள் செல்கிறீர்கள் அப்படியே எழுதவும். [யுனிகோட் தொழில்நுட்ப தரநிலை #18](https://unicode.org/reports/tr18/) இன்படி, கிராஃபீம் கட்டக் கையாளுதல் சரியான உரை எல்லை கண்டறிதலுக்கு சிறப்பு கவனம் தேவை.

**இணைய நிகழ்வு**: மிகவும் நீண்ட உரைகளுக்கு, நீங்கள் தியேரிடிகல்லி தலைகீழாக்கத்தை இணைய நிகழ்வாக்கலாம் (துண்டுகளாகப் பிரிக்கவும், ஒவ்வொன்றையும் தலைகீழாக்கவும், இணைக்கவும்). நடைமுறையில், கணிப்பொறி வளங்கள் இல்லாமல் மிகப்பெரிய தரவுத் தொகுப்புகளைக் கையாளும் வரை மேலோட்ட மதிப்பு பொதுவாக பயன்படாது.

## அடிக்கடி கேட்கப்படும் கேள்விகள்

### நான் எவ்வாறு உரையை ஆன்லைனில் தலைகீழாக்குவது?

மேலே உள்ள உள்ளீட்டுப் பகுதியில் உங்கள் உரையை ஒட்டவும் அல்லது தட்டச்சு செய்யவும். கருவி தானாகவே உரையை உடனடியாக தலைகீழாக்கும் - எந்தவொரு பொத்தானையும் சொடுக்க வேண்டியதில்லை. முடிவை ஒரு சொடுக்கில் நகலெடுக்கலாம்.

### உரையைத் தலைகீழாக்குவதற்கும் வார்த்தைகளைத் தலைகீழாக்குவதற்கும் என்ன வித்தியாசம்?

உரை தலைகீழாக்கல் (எழுத்து தலைகீழாக்கல்) தனிப்பட்ட எழுத்துக்களை மாற்றுகிறது: "Hello World" → "dlroW olleH". வார்த்தை தலைகீழாக்கல் ஒவ்வொரு வார்த்தையையும் அப்படியே வைத்துக்கொண்டு அவற்றின் வரிசையை மாற்றுகிறது: "Hello World" → "World Hello". இந்தக் கருவி எழுத்து தலைகீழாக்கலைச் செய்கிறது.

### இந்தக் கருவி எமோஜிகள் மற்றும் யுனிகோட் எழுத்துக்களைக் கையாளமுடிமா?

ஆம். கருவி எல்லா யுனிகோட் எழுத்துக்களையும் சரியாகக் கையாளும், அதில் எமோஜிகள், சீன/ஜப்பானிய/கொரிய உரை, அரபிய எழுத்துருவம், சிறப்பு சின்னங்கள் மற்றும் கூட்டு எழுத்துக்கள் அடங்கும். "こんにちは 🌍" உடன் சோதித்துப் பாருங்கள்.

### தலைகீழாக்கிய உரை மிரர் எழுத்துக்கள் போன்றதா?

அவை தொடர்புடையவை ஆனால் சரிசமம் இல்லை. எழுத்து தலைகீழாக்கல் (இந்தக் கருவி செய்வது) எழுத்துக்களின் வரிசையை மாற்றுகிறது. மிரர் எழுத்துக்கள் எழுத்துக்களை கிடைமட்டமாக மாற்றி அவை மிரர் பிரதிபலிப்பு போல் தோன்றும்படி செய்கிறது. மிரர் எழுத்துக்களைப் படிக்க, உண்மையான மிரரோ அல்லது கிடைமட்ட மாற்றமோ தேவைப்படும்.

### நான் ஏன் உரையைத் தலைகீழாக்க வேண்டும்?

பொதுவான பயன்பாடுகள்: பாலிண்ட்ரோம்களைச் சரிபார்த்தல், பதிப்பாய்வுகளுக்கான எளிய குறிமுறை உருவாக்கல், நிரல் தரவு உருவாக்கல், கலைப்பூர்வ உரை பாவனைகள், சரம் வழிமுறைகளைக் கற்றல் மற்றும் உரை பிரக்ஞாபன குறிமுறைகளைப் பிழைத்திருத்தல்.

### உரையைத் தலைகீழாக்கினால் மீண்டும் அசல் உரை கிடைக்குமா?

ஆம். உரை தலைகீழாக்கல் தன்னின்ற மாற்று நடவடிக்கை. "Hello" ஐ "olleH" ஆக மாற்றினால், பின்பு "olleH" ஐ மீண்டும் தலைகீழாக்கினால் "Hello" கிடைக்கும். கணிதப்படி, இது ஒரு தன்மாற்று நடவடிக்கை எனப்படும்.

### உரை தலைகீழாக்கல் எவ்வளவு வேகமாக நடைபெறுகிறது?

மிகவும் வேகமாக - வரிக்கோட்டு நேர சிக்கல் O(n) இங்கு n என்பது உரை நீளம். சாதாரண உரைக்கு (சில பத்திகள்), செயலாக்கம் உடனடி. மிகப் பெரிய உரைக்கும் (ஆயிரக்கணக்கான வார்த்தைகள்), நவீன கணினிகள் மில்லி நொடிகளில் கையாளும்.

### நான் எக்சல் அல்லது கூகிள் ஷீட்ஸில் உரையைத் தலைகீழாக்கலாமா?

ஆம், ஆனால் உள்ளமைந்த தலைகீழாக்கல் சாளரம் இல்லாததால் தனிப்பட்ட சார்பு தேவைப்படும். மேலே கொடுக்கப்பட்ட கோட் எடுத்துக்காட்டுகள் பிரிவில் எக்சல் VBA மற்றும் பிற நிரல் மொழி நடைமுறைகளைப் பார்க்கலாம்.

## தொழில்நுட்ப மேற்கோள்கள்

1. நுத், டி. இ. (1997). *கணினி நிரலாக்கத்தின் கலை, தொகுதி 1: அடிப்படை அல்கரிதங்கள்* (3வது பதிப்பு). அடிசன்-வெஸ்லி தொழிற்நுட்ப வெளியீடு.

2. செட்ஜ்விக், ஆர்., & வேன், கே. (2011). *அல்கரிதங்கள்* (4வது பதிப்பு). அடிசன்-வெஸ்லி தொழிற்நுட்ப வெளியீடு.

3. யுனிகோட் கான்சோர்சியம். *யுனிகோட் தொழில்நுட்ப தரநிலை #18: யுனிகோட் வழக்கமான வெளிப்பாடுகள்*. கிடைக்கும் இடம்: https://unicode.org/reports/tr18/

4. MDN வலை ஆவணங்கள். *சரம் முறைகள் மேற்கோள்*. மொசில்லா டெவலப்பர் நெட்வொர்க். கிடைக்கும் இடம்: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String

5. கொர்மன், டி. எச்., லெய்சர்சன், சி. இ., ரிவெஸ்ட், ஆர்.எல்., & ஸ்டைன், சி. (2009). *அல்கரிதங்களுக்கு அறிமுகம்* (3வது பதிப்பு). எம்.ஐ.டி. பிரஸ்.