Users on the Windows platform expect to see strings representing byte sizes to be formatted in a different way than generally expected on Mac or Linux. This patch alters BLI_str_format_byte_unit() so that its output is platform-dependent. Windows users will see byte sizes formatted in Base 2 and with units that they are used to reading (KB, MB, GB).
This does not change how these strings are formatted on Mac and Linux, where they will continue to be shown using decimal formatting.
This really shouldn't be a matter of what is "better" or "correct" or "modern". It is about presenting information in a way that is expected by users in a form that they recognize. When viewing a list of files for example, it is very important that the sizes shown be the same as those shown by the Windows Explorer so that they can be recognized at the same files inside and outside of Blender. With differing calculation or differing units shown it just adds confusion for no gain to anyone.
Users should not have to know the history of the ambiguity of file size units. They just need to know that the file they are looking at in Blender is the same as the one they see outside of it. So it is important that we use both the value and units they expect.
An example bug report: https://developer.blender.org/T69455