The left line ends with 1 whitespace character and the right with 0.
Trailing whitespace is shown as ·, a tab as → and a non-breaking space as ␣. Drawing them as they are would show two identical rows, which is the problem rather than the answer.
Ang mga pagkakaibang hindi mo nakikita ang siyang sulit ipagtool. Kayang mapansin ninuman ang napalitang salita. Ang nagpapaubos ng isang hapon ay ang dalawang linyang magkaparehong lumalabas at hindi magkatumbas.
Isang espasyo sa dulo. Isang tab kung saan apat na espasyo ang nasa kabilang file. Isang CRLF laban sa LF, na nagpapaulat sa version control na nagbago ang bawat linya samantalang wala namang nagbago sa paningin mo. Isang non-breaking space na nakopya mula sa browser, na kamukhang-kamukha ng espasyo at hindi espasyo. Isang zero-width na karakter na walang inuukupahang puwang. O isang letrang may tuldik na nakasulat bilang isang code point sa isang panig at bilang letra kasama ang combining mark sa kabila.
Ang diff na tinatawag lamang itong "nabago" at huminto ay walang silbi sa mismong sandaling pinakakailangan ito, dahil titingnan mo ang dalawang magkaparehong hilera at magpapasyang sira ang tool. Kaya kapag nagkaiba ang isang pares sa paraang hindi nakikita, sinasabi ito ng pahina bago ipakita sa iyo ang diff, at tinutukoy ang dahilan. Sa mismong diff, ang espasyo sa dulo ay iginuguhit bilang ·, ang tab bilang → at ang non-breaking space bilang ␣.
Naka-off ang Unicode normalisation bilang default, at sinadya ito. Ang "é" bilang isang code point at bilang "e" kasama ang combining na tuldik ay magkamukha at magkaibang bytes — tunay na depekto sa pangalan ng file, sa key ng database o sa password. Ang pag-normalise bilang default ay magtatago sa mismong bagay na hinahanap mo. I-on ito para tiyakin na iyon nga ang tinitingnan mo, at sasabihin ng pahina na hindi na byte-por-byte ang paghahambing.
Hindi — iyon mismo ang pinaggagamitan ng tool na ito. May hindi nakikita sa screen sa isa sa kanila: espasyo sa dulo, tab kung saan may espasyo ang isa, non-breaking space na galing sa browser, zero-width na karakter mula sa word processor, o letrang may tuldik na dalawang paraan ang pagkakasulat. Kapag pawang di-nakikita ang pagkakaiba, sinasabi ito ng pahina sa itaas at pinapangalanan ang bawat isa, dahil ang "magkaiba ang mga ito" mag-isa ay walang silbi sa mismong sandaling pinakamahalaga.
Ito ang U+00A0, isang espasyong hindi pinuputol ng browser sa linya. Madalas itong nakakasama kapag kumopya ng teksto mula sa web page o word processor, at hindi ito makikilala sa karaniwang espasyo sa screen. Ibang karakter ito, kaya ituturing ng paghahambing, ng paghahanap sa database o ng pagsusuri ng password na magkaiba ang dalawa — at walang sasabihin sa screen kung bakit.
Malamang ang line endings. Tinatapos ng Windows ang linya gamit ang CRLF at ng Unix gamit ang LF, at isang di-nakikitang byte iyon sa bawat linya — kaya lahat ng linya ay binibilang na nagbago. Natutukoy ng pahinang ito ang dalawang panig at sinasabi kung magkaiba, at iyon ang pinakamabilis na paraan para kumpirmahin na iyon lang ang nangyari.
Ang letrang é ay puwedeng isulat bilang isang code point, o bilang payak na e na sinusundan ng combining accent. Magkapareho silang lumalabas at magkaibang byte. Isinusulat muli ng normalisation ang dalawa sa parehong anyo. Sinadyang nakapatay ito rito: talagang magkaiba ang dalawang string na iyon, at tunay na depekto ang pagkakaibang iyon sa pangalan ng file, sa key ng database o sa password — ang pag-normalise bilang default ay magtatago sa mismong hinahanap mo. Buksan ito para kumpirmahin kung iyon nga ang nangyayari.
Linya-linya, gamit ang Myers na diff algorithm na inaalis muna ang magkaparehong simula at dulo — at iyon ang nagpapabilis sa isang-linyang pagbabago sa file na dalawang libong linya. Ang nabagong linya ay lumalabas bilang isang tanggal at isang dagdag, at kung ang pares ay nagkakaiba lamang sa di-nakikitang paraan, hiwalay itong binabanggit sa itaas ng diff.
Hindi. Nananatili sa browser mo ang dalawang teksto at walang naipapadala, kaya puwede kang mag-paste ng kontrata, config file o database dump nang hindi ito umaalis sa makina. Wala ring hangganan sa haba na dapat ikabahala sa ilalim ng limang libong linya kada panig.
Ang bawat isa rito ay lumalabas na wala talaga. Iyon ang nagpapamahal sa kanila.
Isang carriage return kada linya, hindi nakikita saanman ito ipakita. Iniuulat ng pahinang ito ang dulo ng linya sa magkabilang panig para matiyak mo ito sa ilang segundo sa halip na basahin ang apat na raang magkaparehong linya.
Nananatili sa browser mo ang dalawang teksto at walang ipinapadala. Teksto ang inihahambing nito, hindi kahulugan: puwedeng iisa ang sinasabi ng dalawang dokumento sa magkaibang salita at iuulat na magkaiba nang tuluyan. Walang ipinapadala sa mga server namin ang tina-type mo rito — sa browser mo tumatakbo nang buo ang pagkuwenta.