class WebSocket::Driver

def self.encode(data, encoding = nil)

def self.encode(data, encoding = nil)
  if Array === data
    data = data.pack('C*')
    encoding ||= Encoding::BINARY
  end
  return data if encoding.nil? or data.encoding == encoding
  if data.encoding == Encoding::BINARY
    data = data.dup if data.frozen?
    data.force_encoding(encoding)
  else
    data.encode(encoding)
  end
end