Isticmaalka Jilayaasha Unicode ee la midka ah si aad uga gudubto Xaqiijinta

GitHub soo noqday waxay u nugushahay weerar kuu ogolaanaya inaad la wareegto koontada adiga oo isticmaalaya xuruufta Unicode ee iimaylka. Dhibaatadu waxay tahay in qaar ka mid ah xarfaha Unicode, marka la isticmaalayo shaqooyinka beddelka xarfaha yar yar ama kuwa waaweyn, loo tarjumo xarfo caadi ah oo la mid ah qaabka (marka dhowr xaraf oo kala duwan loo tarjumay hal xaraf - tusaale ahaan, dabeecadda Turkiga "Δ±" iyo "i" " marka loo rogo kiis sare waxaa loo rogaa "I").

Kahor intaadan hubin xuduudaha gelitaanka ee adeegyada iyo codsiyada qaarkood, xogta adeegsaduhu keeno ayaa marka hore loo beddelaa kiis sare ama hoose ka dibna lagu hubiyaa kaydka xogta. Haddii adeegu ogolaado isticmaalka xarfaha Unicode gudaha gal ama iimaylka, markaa weerarku wuxuu isticmaali karaa xarfo Unicode la mid ah si uu u qaado weerar maamula isku dhaca Unicode Case Mapping Collisions.

'ß'.toUpperCase() == 'ss'.toUpperCase() // 0x0131
'K'.toLowerCase() == 'K'.toLowerCase() // 0x212A
'John@GΔ±thub.com'.toUpperCase() == '[emailka waa la ilaaliyay]'.ToUpperCase()

Weerarka GitHub karayn foomka dib u soo celinta erayga sirta ah ee la illoobay, billow u dirida koodka soo kabashada iimayl kale adiga oo foomka ku tilmaamaya ciwaanka ay ku jiraan xarfo unicode ah oo sababa shil (tusaale ahaan, halkii aad ka ahaan lahayd shil) [emailka waa la ilaaliyay] iimaylka m ayaa la tilmaamayΔ±[emailka waa la ilaaliyay]). Ciwaanka wuu gudbay imtixaankii sababtoo ah waxaa loo rogay far waaweyn oo waafaqay ciwaanka asalka ah ([emailka waa la ilaaliyay] ), laakiin markii warqadda la dirayo waa la beddelay oo koodhka soo kabashada waxaa loo diray ciwaan been abuur ah (mΔ±[emailka waa la ilaaliyay]).

Qaar ka mid ah jilayaasha, sababa isku dhacyo marka la bedelayo diiwaanka:

ß 0x00DF SS
iyo 0x0131 I
0x017F S
0xFB00 FF
0xFB01 FI
0xFB02 FL
ffi 0xFB03 FFI
ffl 0xFB04 FFL
0xFB05 ST
Fi 0xFB06 ST
K 0x212A k

Source: opennet.ru

Add a comment