private static byte[] ascii8To6bitBin(byte[] toDecBytes)
			throws AISParseException {
		logger.info("ascii8To6bitBin(toDecBytes) - Entry");

		byte[] convertedBytes = new byte[toDecBytes.length];
		int sum = 0;
		int _6bitBin = 0;

		for (int i = 0; i < toDecBytes.length; i++) {
			sum = 0;
			_6bitBin = 0;

			if (toDecBytes[i] < 48) {
				throw new AISParseException(AISParseException.INVALID_CHARACTER
						+ " " + (char) toDecBytes[i]);
			}
			if (toDecBytes[i] > 119) {
				throw new AISParseException(AISParseException.INVALID_CHARACTER
						+ " " + (char) toDecBytes[i]);
			}
			if (toDecBytes[i] > 87) {
				if (toDecBytes[i] < 96) {
					throw new AISParseException(
							AISParseException.INVALID_CHARACTER + " "
									+ (char) toDecBytes[i]);
				}
				sum = toDecBytes[i] + 40;
			} else {
				sum = toDecBytes[i] + 40;
			}
			if (sum != 0) {
				if (sum > 128) {
					sum += 32;
				} else {
					sum += 40;
				}
				_6bitBin = sum & 0x3F;
				convertedBytes[i] = (byte) _6bitBin;
			}
		}

		logger.info("ascii8To6bitBin(toDecBytes) - Exit");
		return convertedBytes;
	}