ASCII, Unicode: అవి ఏమిటి, దేనికి ఉపయోగపడతాయి

కంప్యూటర్ సంఖ్యలను మాత్రమే అర్థం చేసుకుంటుంది, కాబట్టి తెరపై మీరు చూసే ప్రతి అక్షరం ఒక కోడ్. ASCII ప్రమాణంగా మారిన మొదటి కోడ్ పట్టిక, Unicode అనేది ఏ భాషలోనైనా రాయడానికి మనం ఈ రోజు వాడేది. ఇక్కడ అవి ఎలా పనిచేస్తాయి, ఏ కోడ్‌లు తెలుసుకోవడం మంచిది, ఉచ్చారణ గుర్తుల బదులు వింత చిహ్నాలు ఎందుకు కనిపిస్తాయి, ఇదంతా పట్టికలో ఎలా చూసుకోవాలో చూస్తారు.

నవీకరించినది:

అక్షర ఎన్‌కోడింగ్ అంటే ఏమిటి

ఎన్‌కోడింగ్ అనేది ఒక ఒప్పందం: “65 అనే సంఖ్య A అక్షరాన్ని సూచిస్తుంది”. మీరు టెక్స్ట్ రాసినప్పుడు, ప్రోగ్రామ్ ఆ సంఖ్యలను నిల్వ చేస్తుంది; మరొకరు దాన్ని తెరిచినప్పుడు, వారి ప్రోగ్రామ్ అదే ఒప్పందంతో వాటిని మళ్లీ అక్షరాలుగా అనువదిస్తుంది. ఇద్దరూ ఒకే పట్టికను వాడకపోతే, టెక్స్ట్ తప్పుగా వస్తుంది.

రెండు ఆలోచనలను వేరుచేయాలి. ఒకటి అక్షర సమితి, అంటే ఏ సంఖ్య ఏ చిహ్నానికి సరిపోతుందనే జాబితా. రెండోది ఆ సంఖ్యలు బైట్‌లలో ఎలా నిల్వ అవుతాయి. ASCII లో ఈ రెండూ సాధారణంగా ఒకటే; Unicode లో కావు, అక్కడ UTF-8 వస్తుంది.

ASCII: 7 బిట్‌ల 128 అక్షరాలు

ASCII (American Standard Code for Information Interchange) 1960లలో ప్రమాణీకరించబడింది. ఇది 7 బిట్‌లు వాడుతుంది, అంటే 2 యొక్క 7వ ఘాతం = 128 కోడ్‌లు, 0 నుండి 127 వరకు. వాటిలో 33 నియంత్రణ అక్షరాలు (0 నుండి 31, 127), 95 ముద్రించదగినవి (32 నుండి 126, ఖాళీతో సహా).

ఇందులో ఉచ్చారణ గుర్తులున్న అక్షరాలు, ñ, యూరో గుర్తు లేవు: ఇది ఇంగ్లీష్ కోసం రూపొందించబడింది. తర్వాత ఇతర పట్టికలు ఎందుకు అవసరమయ్యాయో అది వివరిస్తుంది.

మీరు ఎక్కువగా ఎదుర్కొనే కోడ్‌లు. ఖాళీ (32) కనిపించకపోయినా ముద్రించదగినదిగా లెక్క.
నియంత్రణ అక్షరండెసిమల్హెక్సాడెసిమల్బైనరీ (7 బిట్‌లు)దేనికి ఉపయోగం
శూన్యం (NUL)0000000000అనేక భాషల్లో స్ట్రింగ్ ముగింపును గుర్తిస్తుంది
అడ్డు ట్యాబ్ (TAB)9090001001తర్వాతి ట్యాబ్ స్టాప్‌కు దూకుతుంది
కొత్త లైన్ (LF)100A0001010తర్వాతి లైన్‌కు దిగుతుంది
క్యారేజ్ రిటర్న్ (CR)130D0001101లైన్ ప్రారంభానికి తిరిగి వస్తుంది
ఎస్కేప్ (ESC)271B0011011నియంత్రణ క్రమాలను ప్రారంభిస్తుంది
ఖాళీ (స్పేస్)32200100000ముద్రించదగిన మొదటి అక్షరం
తొలగింపు (DEL)1277F1111111అక్షరాన్ని తొలగిస్తుంది

గుర్తుంచుకోవలసిన సంబంధాలు

పట్టిక యాదృచ్ఛికంగా క్రమపరచబడలేదు. కొన్ని క్రమబద్ధతలతో మీరు కోడ్‌లను జ్ఞాపకంతో చదవవచ్చు.

లైన్ ముగింపు: LF, CR, CRLF

కొత్త లైన్ సరళంగా అనిపిస్తుంది, కానీ సిస్టమ్‌ను బట్టి వేరేలా రాస్తారు. Unix, Linux, macOS ఒకే అక్షరం LF (10) వాడతాయి. Windows వరుసగా రెండు వాడుతుంది, CR, LF (13, 10), వాటిని CRLF అంటారు. పాత టెలిటైప్‌లకు రెండు వేర్వేరు ఆదేశాలు కావాలి: క్యారేజ్‌ను ప్రారంభానికి తిప్పడం, కాగితాన్ని ఒక లైన్ ముందుకు జరపడం.

ఈ తేడా వల్లే కొన్ని ఫైళ్లు ప్రాథమిక ఎడిటర్‌లో అంతా ఒకే లైన్‌లో కనిపిస్తాయి, లేదా ప్రతి వరుస చివర వింత గుర్తు కనిపిస్తుంది. ఒక్కోదానికి ఏ కోడ్ ఉందో తెలుసుకోవాలంటే, ASCII పట్టిక శోధనలో LF లేదా CR అని రాయండి.

“విస్తరించిన ASCII” ప్రమాణం కాదు

ఒక బైట్‌కు 8 బిట్‌లు ఉన్నాయి, ASCII 7 మాత్రమే వాడుతుంది, కాబట్టి 128 ఖాళీ కోడ్‌లు (128 నుండి 255) మిగిలాయి, ప్రతి తయారీదారు, ప్రాంతం వాటిని తమ పద్ధతిలో నింపాయి. దీన్ని “విస్తరించిన ASCII” అంటారు, కానీ ఒకే పట్టిక లేదు: కోడ్ పేజీలు అనే చాలా పట్టికలు ఉన్నాయి. బాగా తెలిసిన రెండు Latin-1 (ISO-8859-1), అందులో é కోడ్ 233, Windows-1252, ఇది దాదాపు అలాంటిదే కానీ 128 నుండి 159 కోడ్‌లలో తేడాలతో (ఉదాహరణకు అక్కడే యూరో ఉంది).

సమస్య ఏమిటంటే 233 కోడ్ ఒక పట్టికలో “é”, మరో పట్టికలో వేరొకటి. ఒక పట్టికతో రాసి, మరో పట్టికతో చదివిన టెక్స్ట్ చెత్తగా కనిపించేది. ఆ గందరగోళాన్ని అంతం చేయడానికి Unicode పుట్టింది.

Unicode, UTF-8

Unicode ప్రపంచంలోని దాదాపు అన్ని లిపి వ్యవస్థల ప్రతి అక్షరానికి, ఇంకా చిహ్నాలు, ఎమోజీలకు కోడ్ పాయింట్ అనే ప్రత్యేక సంఖ్యను కేటాయిస్తుంది. ఇప్పుడు దానిలో 150,000 కంటే ఎక్కువ అక్షరాలు ఉన్నాయి. దాన్ని U+ ఉపసర్గతో, హెక్సాడెసిమల్‌లో రాస్తారు: “A” U+0041, “ñ” U+00F1, యూరో U+20AC, నవ్వే ముఖం ఎమోజీ U+1F600. మొదటి 128 కోడ్ పాయింట్లు సరిగ్గా ASCII వే.

UTF-8 ఆ సంఖ్యలను బైట్‌లలో నిల్వ చేసే అత్యంత ఎక్కువగా వాడే రూపం, అక్షరాన్ని బట్టి 1 నుండి 4 బైట్‌లు వాడుతుంది. ASCII 128 ఎప్పటిలాగే ఒకే బైట్ తీసుకుంటాయి, కాబట్టి ASCII టెక్స్ట్ చెల్లుబాటయ్యే UTF-8 టెక్స్ట్ కూడా. మిగతావి ఎక్కువ బైట్‌లు తీసుకుంటాయి.

ASCII కు ఎంత దూరమైతే, అక్షరం అన్ని ఎక్కువ బైట్‌లు తీసుకుంటుంది.
అక్షరంకోడ్ పాయింట్UTF-8 లో బైట్‌లుబైట్‌లు (హెక్సాడెసిమల్)
AU+0041141
éU+00E92C3 A9
ñU+00F12C3 B1
€U+20AC3E2 82 AC
😀U+1F6004F0 9F 98 80

“ñ” బదులు “ñ” ఎందుకు కనిపిస్తుంది

ఇది అత్యంత సాధారణ లోపం, దానికి ఖచ్చితమైన వివరణ ఉంది. UTF-8 లో ñ రెండు బైట్‌లు: C3, B1. ప్రోగ్రామ్ టెక్స్ట్ Latin-1 లో ఉందని భావిస్తే, ప్రతి బైట్‌ను ఒక అక్షరంగా చదువుతుంది: C3 “Ô, B1 “±”. ఫలితం: “ñ”. “é” తో కూడా అదే జరుగుతుంది, అది “é” గా కనిపిస్తుంది, “canción” అనేది “canción” గా కనిపిస్తుంది.

పరిష్కారం దాదాపు ఎల్లప్పుడూ ఫైల్‌ను UTF-8 గా తెరవమని ప్రోగ్రామ్‌కు చెప్పడమే (టెక్స్ట్ ఎడిటర్‌లో లేదా స్ప్రెడ్‌షీట్ దిగుమతి సెట్టింగ్‌లో). దీనికి విరుద్ధంగా, Latin-1 లోని టెక్స్ట్‌ను UTF-8 గా చదివితే, ప్రశ్నార్థక గుర్తుతో ఉన్న వజ్రాలు కనిపిస్తాయి, ఎందుకంటే ఆ విడి బైట్‌లు చెల్లుబాటయ్యే UTF-8 క్రమాలను ఏర్పరచవు.

ASCII పట్టికను, కన్వర్టర్‌ను ఎలా వాడాలి

“ASCII టేబుల్” సాధనం 128 అక్షరాలను డెసిమల్, హెక్సాడెసిమల్, ఆక్టల్, బైనరీ కోడ్‌తో, నియంత్రణ అక్షరాల పేరుతో చూపుతుంది.

  1. దాని వరుసను కనుగొనడానికి శోధనలో ఒక అక్షరం, కోడ్ లేదా నియంత్రణ అక్షరం పేరు (ఉదాహరణకు A, 65, 41 లేదా LF) రాయండి.
  2. ఒక సమూహాన్ని మాత్రమే చూడటానికి ఫిల్టర్ బటన్లను (కంట్రోల్, అంకెలు, పెద్ద అక్షరాలు, చిన్న అక్షరాలు, చిహ్నాలు) వాడండి.
  3. మార్చడానికి, “టెక్స్ట్” లో టెక్స్ట్ రాసి, ఫార్మాట్ (దశాంశం, హెక్సాడెసిమల్, అష్టాంశం లేదా బైనరీ) ఎంచుకోండి: కింద కోడ్‌లు కనిపిస్తాయి. “Hola” డెసిమల్‌లో 72 111 108 97, హెక్సాడెసిమల్‌లో 48 6F 6C 61 ఇస్తుంది.
  4. రివర్స్‌లో కూడా చేయవచ్చు: “కోడ్‌లు” లో ఖాళీలు లేదా కామాలతో వేరుచేసిన కోడ్‌లను పేస్ట్ చేస్తే టెక్స్ట్ తయారవుతుంది. హెక్సాడెసిమల్‌లో 0x41 వంటి ఉపసర్గలు అంగీకరించబడతాయి.

టెక్స్ట్‌లో ñ వంటి ASCII కాని అక్షరాలు ఉంటే, సాధనం తెలియజేసి వాటి Unicode కోడ్‌ను చూపుతుంది. UTF-8 లోని అసలు బైట్‌లను చూడటానికి “టెక్స్ట్ నుండి బైనరీ” వాడండి: ñ కు 11000011 10110001, 8 బిట్‌ల రెండు బైట్‌లు వస్తాయి. పరిమితులు: పట్టిక ప్రామాణిక ASCII ని మాత్రమే చూపుతుంది, విస్తరించినదాన్ని కాదు, అంతా మీ బ్రౌజర్‌లోనే లెక్కించబడుతుంది, టెక్స్ట్‌ను ఏ సర్వర్‌కూ పంపదు.

తరచుగా అడిగే ప్రశ్నలు

ASCII లో ఎన్ని అక్షరాలు ఉన్నాయి?

128, కోడ్‌లు 0 నుండి 127 వరకు, ఒక్కొక్కటి 7 బిట్‌లు. వాటిలో 33 నియంత్రణ అక్షరాలు, 95 ముద్రించదగినవి (ఖాళీతో సహా).

A, a అక్షరాల ASCII కోడ్ ఏమిటి?

“A” 65 (హెక్సాడెసిమల్‌లో 41, బైనరీలో 01000001), “a” 97 (హెక్సాడెసిమల్‌లో 61, బైనరీలో 01100001). వాటి మధ్య తేడా ఎల్లప్పుడూ 32.

ASCII కు, Unicode కు తేడా ఏమిటి?

ASCII లో ఇంగ్లీష్ కోసం రూపొందించిన 128 అక్షరాలు ఉన్నాయి. Unicode లో దాదాపు అన్ని భాషల, ఎమోజీల 150,000 కంటే ఎక్కువ అక్షరాలు ఉన్నాయి, దాని మొదటి 128 ASCII వే.

UTF-8 అంటే ఏమిటి?

ఇది Unicode టెక్స్ట్‌ను బైట్‌లలో నిల్వ చేసే అత్యంత ఎక్కువగా వాడే పద్ధతి. అక్షరానికి 1 నుండి 4 బైట్‌లు వాడుతుంది: ASCII ఒకటి, ñ రెండు, ఎమోజీ నాలుగు తీసుకుంటాయి.

నా టెక్స్ట్ “ñ” లేదా “é” ఎందుకు చూపుతోంది?

ఎందుకంటే UTF-8 లో సేవ్ చేసిన టెక్స్ట్‌ను Latin-1 గా చదువుతున్నారు. ఫైల్‌ను UTF-8 ఎన్‌కోడింగ్ సూచిస్తూ తెరవండి, సమస్య పరిష్కారమవుతుంది.