As others have mentioned you need to unzip the zip on the client-side to actually see the contents of the zip. For the browser the blob is just a bunch of binary data without any meaning. If you take a closer look at the output you get:
PK ¥ZksÛÆ=³þ~ç§N;1
you can at least see that it's a zip file because of the initial PK. It's part of a zip files header.
A pretty popular Javascript library for zip operations is JSZip.
Here's an example which loads a zip file containing JqueryUI (due to CORS restrictions we have to get it via a proxy - yacdn.org). After successful loading, JSZip is used to get a list of the files inside the zip archive. This is done using JSZip's loadAsync method and passing it the blob as parameter.
zip.loadAsync(response.data).then(function(contents) {
console.log(Object.keys(contents.files));
});
The returned array of files contains a text file jquery-ui-1.12.1/AUTHORS.txt
If we want to see the actual file - and since you tried to view a text file too - we need some more code.
contents.files["jquery-ui-1.12.1/AUTHORS.txt"].async("string").then(function(data) {
console.log(data);
});
The complete code:
async function loadZip() {
const response = await axios.get('https://yacdn.org/serve/https://jqueryui.com/resources/download/jquery-ui-1.12.1.zip', {
responseType: 'blob'
});
var zip = new JSZip();
zip.loadAsync(response.data).then(function(contents) {
console.log(Object.keys(contents.files));
contents.files["jquery-ui-1.12.1/AUTHORS.txt"].async("string").then(function(data) {
console.log(data);
});
});
}
loadZip();
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.2.0/jszip.min.js"></script>