If you mean memory efficient, you might want to try some kind of compression by using a reduced character set. 26 uppercase, 26 lowercase, 10 numbers, a space, and a 'special character' is 64 possibilities (6 bits) which means you can store 4 characters in only 3 bytes. 'special character' (which is the binary combination 000000) would look at the next character which could be one of 64 special characters like a period, exclamation mark, parenthesis, question mark, apostrophe, and most importantly the end-of-line character. That makes all your text data about 20% smaller.
Another strategy is to chose 255 of the most used words and have a list of these "common words" to form a sentence with the unused combination representing that you will spell out the word instead. That can lead to reduction of over 50% for large text files.
Either way, you'll have to make a decoder/encoder to actually use them in your programs.