The SHA2(str, hash_length) function returns back a nonbinary string. Previously the SHA2
function in MySQL returned back a value of a binary string.
From the docs in the link I provided:
As of MySQL 5.5.6, the return value is a nonbinary string in the
connection character set.
We can dissect all of this via the following SELECT
statement:
SELECT SHA2("bob", 256) AS 'Hashed String',
UNHEX(SHA2("bob", 256)) AS 'Binary String',
LENGTH(UNHEX(SHA2("bob", 256))) AS 'Byte Count'
Which via MySQL Workbench the output will result in this:

UPDATE Per Comment:
The UNHEX(str) function states in the documentation that it interprets each pair of characters in the inputted string as hexadecimal numbers. As for whether the input string is binary or nonbinary, the documentation answers that question for us here:
A NULL result can occur if the argument to UNHEX() is a BINARY column, because values are padded with 0x00 bytes when stored but those bytes are not stripped on retrieval.