 This section is going to be a short one, but it's going to be a little more complex than what we're used to. We're going to talk about compression. Compression is a massive topic that can take, well, a long time to explain, but really what we're doing is we're taking some information and reducing its size through special algorithms. So we're going to include Qt to Bug. Now unfortunately Qt does not have a whole lot of compression built into it, but it does have two functions, Q-Compress and Q-Uncompress, which can make our life a little bit easier. We'll say QbyteArray. So we're going to make a function that's just going to return a QbyteArray, and we'll call this data. So we're just going to loop a thousand times, and we're going to say data.append. I'm going to convert that number to a string and then just add a carriage return line feed to this. So really we're just printing out a number a thousand times. And let's go ahead and do a QbyteArray. Make our data. I'm going to call this compressed and we're going to call Q-Compress. Notice how we didn't have to include anything. It's just baked right into the core libraries. I'm going to call Q-Uncompress, not decompress. There we go. And let's just print out some statistics here so we can see that it actually did work. So there's our original and let's actually put some tags out here so we can see what's going on. And through the magic of copy and paste here. There we go. So really all we're doing is we're making some data. We're calling Q-Compress on that data, which in turn will call a external library that's kind of baked into Qt. I shouldn't call an external library because it's actually inside of Qt. It will call an algorithm and take that data and look at the individual bytes and determine what can be compressed. Now compression is a art and a science in itself, but basically let's say take the word tool, for example. Notice how right off the bat in the word tool, there's two O's. Wouldn't it be nice if we could take those two O's and turn them to a special character, for example a one or a zero? What have we done? Well, we've just saved one byte. That's really what compression is under the hood. I'm sure you probably know what compression is. The algorithms themselves get insanely complex. Some of them even include encryption and they get kind of out there. All right, let's go ahead and save this. Let's run this. And you can see our original is 4890 compressed. It is 1882 and then decompressed. It is the exact same size. So that is Q-Compress and Q-Uncompress. In the next video, we're going to look at how we can actually compress a file. I hope you enjoyed this video. It's part of a video series I have out on udemy.com. This particular video is a follow-on in the intermediate course, but you can start in QtCore for beginners. And if we just kind of crack this open, it's got a lot of content that'll take you from an absolute beginner that just knows absolutely nothing from Hello World all the way up to what are templates, generics, air handling and classes. This specific video is part of the QtCore intermediate class. This picks right up where the beginners course left off and we do things like memory management, collections, working with settings, the file system, a lot of file system, compression, serialization, and much much more.