[cstex] Prevod znakov do binarneho tvaru --> graficka reprezentacia

Jan Sustek Jan.Sustek at seznam.cz
Wed Jan 20 13:01:33 CET 2010


Posilam ta makra. Pekny den. JS

----------------------
\let\ea\expandafter
% po provedeni bude v makrech \desitkove a \dvojkove zapsany seznam ascii znaku v desitkove a dvojkove soustave
\def\textnaascii#1{\def\desitkove{}%
  \def\dvojkove{}%
  \poznacich#1\xxx}

\newcount\asciicount
% zpracuje jeden znak a prida ho k seznamum \desitkove a \dvojkove
\def\poznacich#1{\ifx#1\xxx\else
    \chardef\x=`#1
    \expandafter\pzA\meaning\x
    \ea\ea\ea\def\ea\ea\ea\dvojkove\ea\ea\ea{\ea\dvojkove\pzB\space}
    % neni pouzito \edef, aby se neexpandovala makra \0, \1
    \asciicount=\x
    \edef\desitkove{\desitkove\space\the\asciicount}%
    \ea\poznacich\fi}
\def\pzA#1"#2#3{\ea\def\ea\pzB\ea{\csname hexa:#2\ea\endcsname\csname hexa:#3\endcsname}}

% definice maker na prevod z sestnactkove do dvojkove soustavy
\def\hexadef#1{\ea\def\csname hexa:#1\endcsname}
\hexadef{0}{\0\0\0\0}
\hexadef{1}{\0\0\0\1}
\hexadef{2}{\0\0\1\0}
\hexadef{3}{\0\0\1\1}
\hexadef{4}{\0\1\0\0}
\hexadef{5}{\0\1\0\1}
\hexadef{6}{\0\1\1\0}
\hexadef{7}{\0\1\1\1}
\hexadef{8}{\1\0\0\0}
\hexadef{9}{\1\0\0\1}
\hexadef{A}{\1\0\1\0}
\hexadef{B}{\1\0\1\1}
\hexadef{C}{\1\1\0\0}
\hexadef{D}{\1\1\0\1}
\hexadef{E}{\1\1\1\0}
\hexadef{F}{\1\1\1\1}

% text, ktery chceme prevest na znaky
\textnaascii{Ahoj,\ svete}
% mezeru musime napsat s backslashem, vice v Zpravodaji 4/09, str. 205

% zobrazi ascii znaky desitkove
\desitkove

% ve dvojkove soustave zobrazi jednotlive bity jako cislice 0,1
\def\0{0}\def\1{1}
\dvojkove

% ve dvojkove soustave zobrazi jednotlive bity jako obdelniky a ctverecky
\def\0{\leavevmode\vrule height 6pt depth0pt width2pt\kern2pt}
\def\1{\leavevmode\vrule height 6pt depth0pt width6pt\kern2pt}
% \leavevmode pro jistotu, aby nebylo \vrule ve vertikalnim modu
\dvojkove

\bye

-----------------------




> ------------ Původní zpráva ------------
> Od: Jan Sustek <Jan.Sustek at seznam.cz>
> Předmět: Re: [cstex] Prevod znakov do binarneho tvaru --> graficka reprezentacia
> Datum: 20.1.2010 12:50:02
> ----------------------------------------
> Dobry den,
> 
> takove makro v TeXu urcite napsat jde a bude to jednoduche. Ve Zpravodaji 4/09
> na strane 205 je makro \strisky, ktere prevede text na jednotlive znaky a vypise
> jejich sestnactkovou reprezentaci. Desitkovou reprezentaci dostaneme tak, ze
> misto primitivu \meaning ascii hodnotu znaku ulozime do citace a ten vypiseme
> pres \the. Dvojkovou reprezentaci dostaneme ze sestnactkove tak, ze nadefinujeme
> dalsi makro, ktere z jedne sestnactkove cislice udela ctyri dvojkove cislice
> (nebo jine znaky nebo treba ctverecky).
> 
> Zdravi
> 
> Jan Sustek
> 
> > ------------ Původní zpráva ------------
> > Od: peter knezel <peter.knezel at gmail.com>
> > Předmět: [cstex] Prevod znakov do binarneho tvaru --> graficka reprezentacia
> > Datum: 19.1.2010 17:27:25
> > ----------------------------------------
> > Zdravim,
> > 
> > da sa v texu napisat/pouzit taky skript,
> > v ktorom ako vstup sluzi textovy retazec, ktory sa prevedie
> > na ascii znaky, nasledne na jeho binarnu reprezentaciu a potom
> > by sa nakreslil v (eps, pdf) retazec s bodkami a ciarkami (alebo stvorceky a
> > obdlzniky)?
> > 
> > napr:
> > 
> > Peter
> > 80 101 116 101 114
> > 01010000 01100101 01110100 01100101 01110010
> > .|.|.... .||..|.| .|||.|.. .||..|.| .|||..|.
> > 
> > Predpokladam, ze ak sa to da spravit, nie je problem tam zakomponovat aj
> > parameter na velkost vystupu.
> > 
> > S pozdravom,
> > 
> > Peter Knezel
> > 
> > 
> > 
> _______________________________________________
> csTeX mailing list
> csTeX at cs.felk.cvut.cz
> http://lists.felk.cvut.cz/mailman/listinfo/cstex
> 
> 
> 



More information about the csTeX mailing list