Why cp1256 collation is not 1 byte in MySQL?
That's a limit of the InnoDB engine. It cannot index more than 767 bytes (for a single column)

See the manual:

http://dev.mysql.com/doc/refman/5.5/en/innodb-restrictions.html


  By default, an index key for a single-column index can be up to 767 bytes 
  ... 
  When you attempt to specify an index prefix length longer than allowed, the length is silently reduced to the maximum length