Cat-Whiskers
CrimsnHawk
Maths for idiots#
1+1=3
1+2=4
2+2=100
You see if you believe this u truly are an idiot
stare
Logical computing math for dummies:
1+1 = 1
1+0 = 1
1^1 = 1
1^0 = 0
converting from binary to hex:
0000 = 0
0001 = 1
0010 = 2
0011 = 3
0100 = 4
0101 = 5
0110 = 6
0111 = 7
1000 = 8
1001 = 9
1010 = 10
1011 = A
1100 = B
1101 = C
1110 = D
1111 = F
side note: keep spam to a miminum, any tutorial shorter than 1 paragraph will not be added to the table of contents.64bit/binary guide
The Base64 alphabet:
I will set it up in this manner: decimal value = Base64 character
0 = A 1=B 2=C 3=D 4=E 5=F 6=G 7=H 8=I 9=J 10=K
11=L 12=M 13=N 14=O 15=P 16=Q 17=R 18=S 19=T
20=U 21=V 22=W 23=X 24=Y 25=Z 26=a 27=b 28=c 29=d
30=e 31=f 32=g 33=h 34=i 35=j 36=k 37=l 38=m
39=n 40=o 41=p 42=q 43=r 44=s 45=t 46=u 47=v 48=w
49=x 50=y 51=z 52=0 53=1 54=2 55=3 56=4 57=5
58=6 59=7 60=8 61=9 62=+ 63=/
The ASCII table: Note: this is not the extended ASCII tables. However, I
decided to include the binary values because I'm such a good guy (you'll see
what I mean later). Decimal=Binary=ASCII character. I put it all in one
column because I'm too lazy to use an attractive format.
000=00000000=NUL (Null char.)
001=00000001=SOH (Start of Header)
002=00000010=STX (Start of Text)
003=00000011=ETX (End of Text)
004=00000100=EOT (End of Transmission)
005=00000101=ENQ (Enquiry)
006=00000110=ACK (Acknowledgment)
007=00000111=BEL (Bell)
008=00001000=BS (Backspace)
009=00001001=HT (Horizontal Tab)
010=00001010=LF (Line Feed)
011=00001011=VT (Vertical Tab)
012=00001100=FF (Form Feed)
013=00001101=CR (Carriage Return)
014=00001110=SO (Shift Out)
015=00001111=SI (Shift In)
016=00010000=DLE (Data Link Escape)
017=00010001=DC1 (XON) (Device Control 1)
018=00010010=DC2 (Device Control 2)
019=00010011=DC3 (XOFF)(Device Control 3)
020= 00010100=DC4 (Device Control 4)
021=00010101=NAK (Negative Acknowledgement)
022=00010110=SYN (Synchronous Idle)
023=00010111=ETB (End of Trans. Block)
024=00011000=CAN (Cancel)
025=00011001=EM (End of Medium)
026=00011010=SUB (Substitute)
027=00011011=ESC (Escape)
028=00011100=FS (File Separator)
029=00011101=GS (Group Separator)
030=00011110=RS (Request to Send)(Record Separator)
031=00011111=US (Unit Separator)
032=00100000=SP (Space)
033=00100001=!
034=00100010="
035=00100011=#
036=00100100=$
037=00100101=%
038=00100110=&
039=00100111='
040=00101000=(
041=00101001=)
042=00101010=*
043=00101011=+
044=00101100=,
045=00101101=-
046=00101110=.
047=00101111=/
048=00110000=0
049=00110001=1
050=00110010=2
051=00110011=3
052=00110100=4
053=00110101=5
054=00110110=6
055=00110111=7
056=00111000=8
057=00111001=9
058=00111010=:
059=00111011=;
060=00111100=<
061=00111101= =
062=00111110=>
063=00111111=?
064=01000000=@
065=01000001=A
066=01000010=B
067=01000011=C
068=01000100=D
069=01000101=E
070=01000110=F
071=01000111=G
072=01001000=H
073=01001001=I
074=01001010=J
075=01001011=K
076=01001100=L
077=01001101=M
078=01001110=N
079=01001111=O
080=01010000=P
081=01010001=Q
082=01010010=R
083=01010011=S
084=01010100=T
085=01010101=U
086=01010110=V
087=01010111=W
088=01011000=X
089=01011001=Y
090=01011010=Z
091=01011011=[
092=01011100=
093=01011101=]
094=01011110=^
095=01011111=_
096=01100000=`
097=01100001=a
098=01100010=b
099=01100011=c
100=01100100=d
101=01100101=e
102=01100110=f
103=01100111=g
104=01101000=h
105=01101001=i
106=01101010=j
107=01101011=k
108=01101100=l
109=01101101=m
110=01101110=n
111=01101111=o
112=01110000=p
113=01110001=q
114=01110010=r
115=01110011=s
116=01110100=t
117=01110101=u
118=01110110=v
119=01110111=w
120=01111000=x
121=01111001=y
122=01111010=z
123=01111011={
124=01111100=|
125=01111101=}
126=01111110=~
127=01111111=DEL
Ok, now that we have all of the codes, let's see how to use them. Here's an
example of decoding Base64.
We have this string: bDRtM3Jz
First, convert each character to it's decimal value: 27 3 17 45 12 55 9 51
Convert these values to binary. Only use six bits per number, not eight as
in ASCII:
011011 000011 010001 101101 001100 110111 001001 110011
Take out all of the spaces so that you have one long string:
011011000011010001101101001100110111001001110011
Split this string up into groups of eight:
01101100 00110100 01101101 00110011 01110010 01110011
Since you already have binary on the ASCII table I gave you, you shouldn't
need to convert to decimal. What's that? You're too lame to use it this
way? Ok, I'll be nice:
108 104 109 51 114 115
Ok, now we convert the decimal to ASCII:
lam4rs
Just because I'm such a cool guy, I'll show you how to encode something in
Base64. One thing you have to know is that you can only convert strings
where the number of characters is divisible by three. Those not divisible
by three have an = at the end of the string. If the characters in the
string devided by 3 has a remainder of 1, you will have two = at the end,
remainder of 2 produces one =. (Duh?) I'll explain. You can encode 'lam4rs'
but not 'lam4r' because the former has six characters (divisible by three)
while the latter only has five (not divisible by three). Let's encode this
string:
dollar
Convert to binary:
01100100 01101111 01101100 01101100 01100001 01110010
Remove all of the spaces:
011001000110111101101100011011000110000101110010
Split up into groups of six:
011001 000110 111101 101100 011011 000110 000101 110010
Convert to decimal:
25 6 61 44 27 6 5 50
Convert to Base64:
ZG9sbGHy