Question 2: A Python(2) solution 

string = "111111100010101111111100000100000101000001101110101010001011101101110100000101011101101110100101101011101100000100111001000001111111101010101111111000000001010000000000111011111010111000100010010011111011101000011110110101011111011001010010111110100010000111111101001110111000000001100001100001111111101110100111101100000101010001110010101110101010101001100101110100001010001110101110101001011110001100000101011110000010111111101101011111111"
string = string.replace("0", "  ")
string = string.replace("1", u"\u25A0\u25A0")

for i in range(0, len(string), 42):
  print string[i:i+42]